to and from a datafilestream, not an iterator