Refactoring
Improved code generator