updated ModuleAssembler