update with delegation