exercise 2.03 fixed