equally fragile update functionality