derivation update