Refactoring BaseModule