added challenge 4 solution