added row level locking