added async for js