inheritance-and-substitution