exercise 30 to 76 of chap06