exercise 2.7.