exercise 3.20 done