Refactored Exercise 2.
Tidied up Exercise 3.
Refactored Exercise 4.
Added Exercise 5.