Cleaning
Adds stream-based I/O API (TODO implement)

See #54