added projectile functionality