added ParticlePosition and ParticleState