Exercise 2.3-2 complete