optimize updates