fixed asynchrony bug