use atomic instead of commit_on_success