anchor.diff:                      // no new selection, but old selection still valid, so don't change it
                       () 
                   | _,false -> 
  -                    updateLabel(oldLabel,"")
  +                    updateUiProfile(uiProfile,"")
                       ms.profTBExePath.Text <- ""
  -            else
  -                errDialog("Please select a profile or create a new one")
  -        )
  +            | _ -> errDialog("Please select a profile or create a new one"))
   
           let updateSelectedProfile() = 
               // TODO: btn create mod should be here too; do this after I've added the profile logic
  
positive.code:                 let newLbl = ms.lbProfiles.Items.Add({ EmptyProfile with DisplayName = pendingProfileName}) 
                  ms.lbProfiles.SelectedIndex <- newLbl
                  ms.profTBExePath.Text <- ""
                  ms.probTBModsPath.Text <- "" //TODO build from global default and exe path
          )
  
          ms.profBtnExeBrowse.Click.Add(fun (evArgs) ->
              let checkForExistingProfile exePath = RegConfig.findProfile exePath
              let createProfile exePath = RegConfig.saveProfile({CoreTypes.DefaultRunConfig with ExePath = exePath})
  
              if isProfileSelected() then
                  let oldLabel = profileLabelFromPath(ms.profTBExePath.Text)
                  let oldPathValid = File.Exists(ms.profTBExePath.Text)
  
                  let resExe = selectExecutableDialog(ms)
  
negative.code:     CreateModForm:  WizUI.MakeModForm option
  }
  
  type UIProfile =
      { 
          DisplayName: string
          RegProfileName: string 
          RunConfig: CoreTypes.RunConfig
      }
      override x.ToString() = x.DisplayName
  
  