start implementing an abstract syntax tree.