Rewrote inheritance hierarchy