                 .Identifier("a"), .Character("+"), .Identifier("b")
             ]
         )
-
-
+        
+        assertStringToTokens(
+            "extern atan2(a b)",
+            [
+                .Extern, .Identifier("atan2"),
+                .Character("("), .Identifier("a"), .Identifier("b"), .Character(")")
+            ]
+        )
+    }
+    
+    func testMultilineExpressions() {
         assertStringToTokens(
             "def add(a b)\n\ta + b",
             [

        assertStringToTokens("# this is only a comment\n", [])
    }
    
    
    func testNumbers() {
        assertStringToExpression("0;", .Number(0))
        assertStringToExpression("00.00;", .Number(0))
        assertStringToExpression("10.0;", .Number(10))

                right: .Variable("b")
            )
        )
    }
    
    func testComplexBinaryOperator() {
        assertStringToExpression(
            "a + sin(b) - c;",
            .BinaryOperator(
