added list_of and of_list