moved asyncs to thread