I don't think this function should be called run seeing as it's executed by multiple threads.