Diff now implements new protocol