Refactoring, 3rd task implementation