section 2.3 through exercise 2.58a