Refactored inheritance model