update retrieve