add async_with_stream