fix idempotency