redoing the Projectile model