working on AST to enhance grammar