exercise 2.78 done