add idempotent_cp operation; use it