rejig :poop: up using async. now my code is less :poop:. hopefully i've
fixed the caching bug too. :pray: :sunglasses: