added abstract syntax tree node class