solve exercise 18.03