Through exercise 3.12