refactoring module