     
     internal init(version: String) {
         self.version = version
-        self.instructions = OSRMTextInstructionsStrings.object(forKey: self.version) as! NSDictionary
+        self.instructions = OSRMTextInstructionsStrings[version] as! NSDictionary
     }
 
     func compile(step: OSRMStep) -> String? {

        // Decide which instruction string to use
        // Destination takes precedence over name
        var instruction: String
        if ((step.destinations != nil) && instructionObject.object(forKey: "destination") != nil) {
            instruction = instructionObject.object(forKey: "destination") as! String
        } else if ((wayName != "") && instructionObject.object(forKey: "name") != nil) {
            instruction = instructionObject.object(forKey: "name") as! String
        } else {
            instruction = instructionObject.object(forKey: "default") as! String
        }

        // Replace tokens

        case "use lane":
            // TODO: Handle
            break
        case "rotary", "roundabout":
            if step.rotaryName != nil && step.maneuverExit != nil, let nameExit = instructionObject["name_exit"] as? NSDictionary {
                instructionObject = nameExit
            } else if step.rotaryName != nil, let name = instructionObject["name"] as? NSDictionary {
                instructionObject = name
            } else if step.maneuverExit != nil, let exit = instructionObject["exit"] as? NSDictionary {
                instructionObject = exit
            } else {
                instructionObject = instructionObject["default"] as! NSDictionary
            }
            break
        default:
