public static void init() {
		
		boolean process = true;
		
		File configFile = new File("config.ini");
		
		if (!configFile.exists()) {
			log.info("Configation file 'config.ini' not found. Using defaults");
			process = false;
		}
		
		if (process && !configFile.canRead()) {
			log.info("Configation file 'config.ini' exists, but can't be read. Using defaults");
			process = false;
		}
		
		if (process) {
			try {
				Properties props = new Properties();
				props.load(new FileInputStream(configFile));
				
				MDFConfig config = new MDFConfig();
				for (Method method : config.getClass().getMethods()) {
					String name = method.getName();
					
					if (name.startsWith("set")) {
						name = name.substring(3);
						
						for (Object propName : props.keySet()) {
							
							String pName = String.valueOf(propName).replaceAll("_", "");
							
							if (pName.equalsIgnoreCase(name)) {
								method.invoke(config, props.get(propName));
							}
						}
					}
				}
				
				
			} catch (Exception e) {
				log.log(Level.SEVERE,"Error processing configuration: " + e.getMessage(),e);
			}
		}
	
	}