added stream_generator