improvement to experimental async