update checking update logic