add rw_lock to client ops