Added support for UTF-8 in the lexer, Advanced AST