complete & diff update