better reliablility  with async true