5.1.1.2 : Particle implementation