avoid holding full stream in memory
Merge branch 'pull/15'