restructuring the modules