Exercise 4.3.5 solution