Refactor the Particle