Class hierarchy reorg