fix async problem