make task more asynchronous