implemented basic AST transform