implementing perticle system