removed async requirement