added async for touch