Completed assignment

Ready for peer review.