more robust autoupdater