fix bugs because of regardless of async feature