using the streaming interface