private function isMSIE()
  {
    $is = false;
    // Versions prior to IE11 follow this format
    if ( preg_match("/MSIE (([0-9]+)\.?([0-9]*))/", $this->ua, $matches) )
    {
      $is = true;
      $version = $matches[ 1 ];
      $major = $matches[ 2 ];
      $minor = $matches[ 3 ];
    }
    // This one is for IE11 only.
    elseif ( preg_match( "/Trident\/[0-9]\.[0-9]; [^;]*[;\s]*rv:(([0-9]+)\.?([0-9]*))/", $this->ua, $matches ) )
    {
      $is = true;
      $version = $matches[ 1 ];
      $major = $matches[ 2 ];
      $minor = $matches[ 3 ];
    }

    // Excludes 'bots' that might be acting like MSIE.
    if ( $is && isset($version,$major,$minor) && stripos($this->ua,'bot') === false)
    {
      $this->browser = "msie";
      $this->version = $version;
      $this->major = $major;
      $this->minor = $minor;

      return true;
    }

    return false;
  }