Complete exercise 2.29