Added 'pulse' function