Re-wrote the ShooterGearbox class