exercise 4.11
exercise 4.12
exercise 4.13

Slight modification to 4.12 to let me use it for 4.13