Switched to an extensible inheritence system