solve exercise 28.01