stream logic is mostly in place, needs testing now