refactor update checking into new class UpdateChecker