split codegen