particle generator
merged