Refactored solution for problem 2