Im having a strange problem doing something I thought would be simple. Just trying to create a 2nd form from the primary one, and then go back. What am I doing wrong here?

 Code:
$System = CreateObject("Kixtart.System")

$Form1 = $System.Form()
$Form1.Width = 318
$Form1.Height = 350
$Form1.Icon = 81
$Form1.Resizable = 0
$Form1.MaximizeBox = 0
$Form1.Location = 200, 200
$Form1.Text = "MAIN"
$SettingsButton = $Form1.Controls.Add("ToolButton")
$SettingsButton.Text = "Settings"
$SettingsButton.Enabled = 1
$SettingsButton.Width = 75
$SettingsButton.Height = 25
$SettingsButton.Top = 20
$SettingsButton.Left = 20
$SettingsButton.OnClick = "SettingsForm()"
$Form1.Show()
While $Form1.Visible
   $null = Execute($Form1.DoEvents)
Loop
Exit 0

Function SettingsForm()
   $SettingsForm = $System.Form()
   $SettingsForm.Width = 318
   $SettingsForm.Height = 350
   $SettingsForm.Icon = 81
   $SettingsForm.Resizable = 0
   $SettingsForm.MaximizeBox = 0
   $SettingsForm.Location = 200, 200
   $SettingsForm.Text = "SETTINGS"
   $SettingsCloseButton = $SettingsForm.Controls.Add("ToolButton")
   $SettingsCloseButton.Text = "Close"
   $SettingsCloseButton.Enabled = 1
   $SettingsCloseButton.Width = 75
   $SettingsCloseButton.Height = 25
   $SettingsCloseButton.Top = 20
   $SettingsCloseButton.Left = 20
   $SettingsCloseButton.OnClick = "$$SettingsForm.Hide()"
   $SettingsForm.Show()
   $Form1.Hide()
   While $SettingsForm.Visible
      $null = Execute($SettingsForm.DoEvents)
   Loop
   $Form1.Show()
   Exit 0
EndFunction

btw...Using KixForms Classic 2.46