added derivation class