refactoring especial module