refactoring of modules