WriteConflictCatcher
more precise