fix provider idempotence