Refactoring to process module by module 2