make the initParticle virtual so we can override it