stream based reading (part of #8)
0.8.2