Refactored Projectile for issue #4