exercise 2.8 and exercise 2.9