use `each-async` correctly and some minor tweaks