finished nd_impulse method