improved codegen class
changed repository structure
changed repository structure
brought order in structure