added serialization to Particle