stream-level I/O