first impl of battery chooser