added a particle generator