added row level conflict checking