work on AST (AST manipulations, constructors)