solve exercise 16.1