exercise 2.54 completed