redid all particle effect code