streams rather than strings