add register_as_list/as_dict keyword
merge