better idempotence