change the particle as a struct