Finished part5, but with same main exception as part4
Merge branch 'brendan'

Finished part5, needed to add throws exception to main again.