refactoring example module