reduce locking