added: Exercise 9.3(a,b)