Complete exercise 2.28