abstrict sequencer