Adding the final solution to challenge 1