particles implementation work-in-progress