fixed async bug