add idempotence and its test