restructure and add list_mail