add support for reading from an InputStream (backed by a byte buffer)
notes