asynchronous thread controller