private void sendNextCommand(InetAddress clientName, String clientPort) {

		try {
			Socket clientSocket = new Socket(clientName, Integer.parseInt(clientPort));
			OutputStream outputStream = clientSocket.getOutputStream();
			OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream);
			BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);

			// create message
			String msg = createCommand();

			// send message packet
			bufferedWriter.write(ServerClientHelper.createPacket(Status.COMMAND.toString(), String.valueOf(this.port), this.executionType.toString(), msg.toString()));
			bufferedWriter.flush();

			if (!this.clientTracker.containsKey(clientName.getCanonicalHostName())) {
				this.clientTracker.put(clientName.getCanonicalHostName(), new Pair<String, BigInteger>(clientPort, this.currentGuessMax));
			}

			if (this.debug)
				System.out.println("Sent message to client " + clientSocket.getInetAddress().getCanonicalHostName() + " containing: " + msg.toString());

			// increment the currentGuessMax for the next client
			this.currentGuessMax = this.currentGuessMax.add(this.increment);

		} catch (IOException e) {
			e.printStackTrace();
		}
	}