first code generation