Final submit for Grading

This involves adding more documentation and a bit of changing the GUI so
your eyes don't bleed.