added helper functions for producing and reads as a lazy seq