solution refactoring to group functional areas better