add_all function