use ngOptions instead of generating options manually
to avoid weird intermittent binding problems