expose AST (while keeping existing functionality)