finish exercise 2.77