integrating the module pattern