Final version for submission

Completed assignment that is ready for peer assessment.