solve exercise 30.10