towards encapsulating AST
progress