unfinished refactoring of particle system