tweak AST tree structure