public MainForm() {
			InitializeComponent();

			// change version so it matches our specs
			version = version.Substring(0, version.LastIndexOf('.'));
			versionLink.Text = "v" + version;

			setupHooks();

			if (!Directory.Exists("Thumbnails")) {
				Directory.CreateDirectory("Thumbnails");
			}

			// check for updates
			updater = new Updater(this);

			// get the dota dir
			retrieveDotaDir();

			installedCustomsDir = dotaDir.Substring(0, dotaDir.IndexOf("steamapps") + "steamapps".Length);
			installedCustomsDir = Path.Combine(installedCustomsDir, "workshop", "content", "570");

			var sizeCalc = Util.CreateTimer(200, (timer) => {
				double size = 0;
				foreach (var kv in installedCustomGames) {
					var cg = kv.Value;
					size += cg.size;
				}
				totalSizeLabel.Text = "Total size: " + Math.Round(size, 1).ToString() + " MB";
			});
		}
		public UpdateInfoForm(MainForm mainForm) {
			this.mainForm = mainForm;
			this.updater = mainForm.updater;

			// parse out the changelog from releases_page_source.
			changelog = getChangelog();

			InitializeComponent();

			this.Text = "Update Available! (v" + updater.newVers + ")";
			changelogTextBox.Text = "CHANGELOG:\r\n" + changelog;

		}