5.1.2.1 : Particle implementation