started refactoring projectile handling