add codegen controller