further restructure

superclasses nested below subclasses