private static boolean loadConfig() {
		File file = new File(configFilename);
		serverList = defaultServerList;
		port = defaultPort;
		authList = new HashMap<String, String>(defaultAuthList);
		if (file.exists()) {
			System.out.print("Load config ... ");
			Document doc = null;
			try {
				DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
				factory.setValidating(true);
				DocumentBuilder builder = factory.newDocumentBuilder();
	
				builder.setErrorHandler(new ErrorHandler() {
	
					@Override
					public void error(SAXParseException e) throws SAXException {
						throw e;
					}
	
					@Override
					public void fatalError(SAXParseException e) throws SAXException {
						System.out.println("Fatal error validating the config file:");
						e.printStackTrace();
						System.exit(0);
					}
	
					@Override
					public void warning(SAXParseException e) throws SAXException {
						System.out.println("Warning validating the config file:");
						e.printStackTrace();
					}
				});
				doc = builder.parse(file);
				Node node = doc.getDocumentElement();
	
				Node config = XMLUtil.getChildByName(node, "config");
	
				name = XMLUtil.getAttributeValue(XMLUtil.getChildByName(config, "name"),
						"value", defaultName);
				port = Integer.valueOf(XMLUtil.getAttributeValue(XMLUtil.getChildByName(config, "port"),
						"number", Integer.toString(defaultPort)));
				serverList = XMLUtil.getAttributeValue(XMLUtil.getChildByName(config, "serverlist"),
						"url", defaultServerList);
	
				Node auth = XMLUtil.getChildByName(node, "auth");
	
				NodeList list = auth.getChildNodes();
				if (list != null) {
					for (int i = 0; i < list.getLength(); i++) {
						if (list.item(i).getNodeName().equals("user")) {
							authList.put(XMLUtil.getAttributeValue(list.item(i), "name"), XMLUtil
									.getAttributeValue(list.item(i), "password"));
						}
					}
				}
	
			} catch (Exception e) {
				System.out.println("failed!");
				System.out.println("An error ocurred loading the config file");
				e.printStackTrace();
				return false;
			}
			System.out.println("done!");
		} else {
			System.out.println("No config file exists. Using default data.");
		}
		return true;
	}