slice byte-buffers since gloss doesn't obey position
- reading ranges seems to work now