keep update code