reduce the amount of locking we need to do