public void talk() {
		Printer.print("A person inexplicitly materalises in front of you purely for you to converse with."); // :P

		TreeNode currentNode = dialogueTree.getRoot();
		String input = null;// could be buggy with the space

		do {

			foundDialogue = false;
			Printer.print(currentNode.getDialogue());
			currentNode.setVisited(true);// probably don't need this
			input = Printer.getInput();// could break here
			Scanner inputScanner = new Scanner(input);

			// checking if any of the words the player entered match any of the
			// keywords for the children of the current node.
			while (inputScanner.hasNext()) {
				String currentWord = inputScanner.next();
				TreeNode newNode = recursiveIterator(currentNode, currentWord);
				if (newNode != null) {
					currentNode = newNode;
				}
				for (TreeNode node : dialogueTree.getNodeArray()) {
					node.setTempVisited(false);
				}
			}
			inputScanner.close();

			// goodbye should probably be in the text file too
			if (!foundDialogue && input != null && !input.equals("goodbye")) {

				// this string should possibly be in the textfile
				Printer.print("Find something better to talk about or say \"goodbye\"");
			}

		} while (!input.equals("goodbye"));

	}