Refactored inheritance