#3 completed. Needs professor check.