worked on codegeneration