Redesign the update checker