Programmable sequencer