Refactoring Base module