First commit is actually assignment 4 completion

Did the entire assignment in one sitting, didn't do multiple commits.