refactor/implement Projectile class