update delegate