using sequencer to enforce message order