codegen wip v2