refrain from only using a streaming interface