updates to parser and compiler