add functions to run async closures