Added comments, UML, updated README, generally cleaned up code