refactoring to single module