added an async flag