extract ModuleBuilder