forked from: forked from: forked from: WaveParticle [modified]

