refractored to accomodate new asyncio and aiohttp changes