support for storing white space and comments in the AST