Scenario: More features need to add in existing code. In order to reuse my current code, I tried to create a base class and put all the common code in, and create multiple deriv