it appears to me that, if i != idx, i will never increment, and choice will never be set?