Revert "Revert "First version submitted for grading""

This reverts commit 8135233fee23516d9660a0b9b3e369bc0a87b451.
Second commit for grading

Almost done!