cleanup
update the way choices are handled to support a trait list of options