particles implementation work-in-progress 2