Until exercise 2.12