Exercise 3.5.2
Exercise 3.5.1 without scaffolding