simplified AST