Redesign + Code Generators implementation first try