async loader (cherry picked from commit ae97e46)