working on building a AST