added async for loop