Random Particle and more refactoring