@Override
	public void run() {
		String CurLine = ""; // Line read from standard in
		String[] line = null;
		String args = null;
		String cmd = null;

		System.out.println("Neuronales Netz gestartet... Es sind folgende Kommandos aktiv:");
		printCommandList(); // Geladene Kommandos ausgeben
		
		InputStreamReader converter = new InputStreamReader(System.in);
		BufferedReader in = new BufferedReader(converter);

		while (run) {
			System.out.print("\n > ");
			try {
				CurLine = in.readLine();
			} catch (IOException e) {
				e.printStackTrace();
			}

			line = CurLine.split(" ", 2);
			cmd = line[0];
			if(line.length > 1) {
				args = line[1];
			}
			
			// search for command
			IUIAction action = getObjectForCmd(cmd);
			if (action != null) {
					action.callAction(args);
			} else {
				printToConsole("Unknown Command: '" + cmd + "'");
			}
			
			CurLine = "";
			line = null;
			cmd = null;
			args = null;
		}
	}