avoid locking on long reads/writes