remade class tree. file cleanups will follow