implemented list_particles
added optional parameters to constructors