add choose()