codegen first steps