unrefactored problem 4 solution