Wrote my part of exercise 5, including 3 of the 5 required language
features.