updated shooting behavior and implementation