private boolean connectToImplant(boolean connectingToImplant, boolean connectingToController, boolean connectingToRelay, boolean connectToCortana)
  {
    try
    {
      String IP = this.jtfIP_Address_To_Implant.getText();

      if ((IP == null) || (IP.trim().equals("")))
      {
        Drivers.jop_Error("Invalid IP Address Entered", "Cannot Connect to Implant");
        return false;
      }

      if (IP.trim().equalsIgnoreCase("localhost"))
      {
        IP = "127.0.0.1";
      }

      int PORT = 80;
      try
      {
        PORT = Integer.parseInt(this.jtfPort_Address_To_Implant.getText());

        if ((PORT < 1) || (PORT > 65534))
          throw new Exception("Port out of range!");
      }
      catch (Exception e)
      {
        if (e.getLocalizedMessage().equals("Port out of range!")) {
          Drivers.jop_Error("Invalid PORT Entered - PORT OUT OF RANGE!!!", "Cannot Connect to Implant");
        }
        else {
          Drivers.jop_Error("Invalid PORT Entered", "Cannot Connect to Implant");
        }
        return false;
      }

      try
      {
        Socket sckClientSocket = new Socket(IP, PORT);

        Thread_Terminal terminal = new Thread_Terminal(connectingToImplant, connectingToController, connectingToRelay, sckClientSocket);
        terminal.start();

        Drivers.alTerminals.add(terminal);

        Drivers.updateConnectedImplants();
        Drivers.jtblConnectedImplants.updateJTable = true;
      }
      catch (Exception e)
      {
        Drivers.jop_Error("Unable to connect to client at " + IP + ":" + PORT, "Error Binding to Target");
        return false;
      }

      return true;
    }
    catch (Exception e)
    {
      Drivers.eop("connectToImplant", this.strMyClassName, e, e.getLocalizedMessage(), false);
    }

    return false;
  }