add ParticleFilter function