solve exercise 30.05