nearly finished with Cp derivation