Midterm finished

Final commit for finished midterm
This one does start to get quite difficult. And, it looks like you were starting to run short of time.