added particle class