Add challenge 3 solution