added differential ref derivation