still hacking with async