codegen is ok