modified something for async mode