exposed async utils