New Stream interface, untested