read lock too