Solution 4 complete