Draft for exercise 2.12