Exercise 2.30 and 2.31.