in process: further refactoring solution for first test