reducing ast dependencies on parse tree terminal nodes
cleaning up ast construction