Use yield on returning async task makes it much better