moved 'EnterReadLock' outside tryf block