Deriving abstract classes from abstract classes