Complete exercise 3.18
Complete exercise 3.21