Major major refactoring - class names more reflective of use