add choice generation