exercise 1.8
exercise 1.10 part I