improve update