Allowing arbitrary IDs for pulses
New version and minor improvements