rethinking streams for simpler