Reorganizing class hierarchy.  Class names still have not been changed.