unify streaming model