for generating pulses