Remainder of exercise 2.10
exercise 2.13