Exercise 18
Exercise 19
Exercise 19 extra credit
Exercise 20