improve indempotency