refactoring and checking appropiate requires between modules