add streaming prototype