added auto-fire option