generalize delete_cancel_update template