first pass at update sync