Parser now uses AST