updates, some new classes, cleanup