solve exercise 30.14