         properties["theme.description"] = null
         properties["theme.author"] = null
         properties["theme.version"] = null
+        // MARK: methods
+        methods["print"] = printString
+        methods["fileGetContents"] = fileGetContents
         // MARK: parse
         var commands: [(Int, String)] = []
         for line in 0..<lines.count {

        return cmd
    }
    
    enum ExecErrors: ErrorType {
        case AssignUndeclaredVariableError
        case CallUndeclaredMethodError
    }
}
class BBT2 {
    let null:String? = nil
    
    let dir: String
    
    var methods: [String: ((String) throws -> String?)] = [:]
    var properties: [String: String?] = [:]
    var constants: [String: String?] = [:]
    
    init(dir: String, code: String) throws {
        self.dir = dir
        let lines = code.componentsSeparatedByString("\n")
        // MARK: default properties
        constants["_PLATFORM"] = "iOS"
