Exercises 8.2 and 8.3
Code map