 
 /* ********************************** Specific methods ************************************* */
 
-    func tagScreen(parameters: [NSObject: AnyObject]) {
+    func tagScreen(parameters: [AnyHashable: Any]) {
 
         if (initialized) {
             if let screenName = parameters[SCREEN_NAME] {
                 var screen = tracker.screens.add(screenName as! String);
                 cargo.logger.logParamSetWithSuccess(SCREEN_NAME, value: screen.name);
 
-                screen = self.addChapters(parameters, screen: screen);
-                screen = self.setAdditionalProperties(parameters, screen: screen);
+                screen = self.addChapters(parameters: parameters as [NSObject : AnyObject], screen: screen);
+                screen = self.setAdditionalProperties(parameters: parameters as [NSObject : AnyObject], screen: screen);
 
                 screen.sendView();
             }
             else {
-                cargo.logger.logMissingParam(SCREEN_NAME, methodName: tagScreen, handler: self);
+                cargo.logger.logMissingParam(SCREEN_NAME, methodName: "tagScreen", handler: self);
             }
         }
         else {

     *
     *  @param parameters   Dictionary of parameters
     */
    func initialize(parameters: [NSObject : AnyObject]) {
        var params = parameters;

        // we check if the required name is set, and then initialize the tracker with required values
        if let trackerName = params[TRACKER_NAME] {
            params.removeValueForKey(TRACKER_NAME);
            tracker = ATInternet.sharedInstance.tracker(trackerName, configuration:params);
            cargo.logger.logParamSetWithSuccess(TRACKER_NAME, value: parameters);
            self.initialized = true;
        }

     */
    init() {
        super.init(key: "AT", name: "AT Internet");
        self.tracker = ATInternet.sharedInstance.defaultTracker;

        cargo.registerTagHandler(self, key: AT_init);
        cargo.registerTagHandler(self, key: AT_setConfig);
