updated the way that modules are assembled