multithreaded retrieval and update