make particle_list length dynamical