Implement Exercise 17
Implement Exercise 18