fix bug on async