added inheritance model