AST with Reflection
Moved methods
Refactoring