syntax tree working