dont need next(msg), next() will do
todo: pipeline introspection