add batch edit function