a bunch of updates to each class, improved gui.