completed exercise 4.3.2.