Rework the update checking system