improve option_list method