Renamed classes to be more meaningful, added more notes.