why writelock? should readlock be enough?