implements battle chooser