streaming update for efficiency