add async streaming stuff