beginning proper codegen