public static void main(String[] args) {

		out.println("Booted HAL on " + OS_NAME + " " + OS_ARCH + ". Running Java " + JAVA_VERSION + ".\n");
		
		long halStart = System.nanoTime();
		
		out.println("Loading HAL memory model...");
		
		for (File f : new FileWalker().findExtensions(
				"C:\\Documents and Settings\\Tudor\\Desktop\\HAL Portable Edition\\system\\data", ".hal")) {

			try {

				long start = System.nanoTime();

				int entries = hal.loadMemoryModel(f);	

				out.println("Parsed file " + f.getName() + " (" + entries + " entries) in "
						+ (System.nanoTime() - start)/1000000d
						+ " milliseconds.");

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

		}
		
		out.println("Model loaded in " + ((System.nanoTime() - halStart)/1000000d) + " milliseconds.");
		

		output("Hello, I am HAL " + VERSION + ". How are you?");

		try {
			pluginManager.loadPlugin(MathEngine.class);
			pluginManager.loadPlugin(SpamFilter.class);
		} catch (Exception e) {
			e.printStackTrace();
		}

		while (true) {

			out.print(USER + ": ");

			String input = "";
			try {
				input = new BufferedReader(new InputStreamReader(System.in))
						.readLine();
			} catch (IOException e) {
				e.printStackTrace();
			}

			String orig = input, result = orig;

			result = hal.ask(orig.toUpperCase());

			output(result);
		}

	}