public void initialize(){
		// create the dir under plugins if not there
		(new File(pluginDir)).mkdirs();
		// create some empty YML files
		recipes = new YamlConfiguration();
		items = new YamlConfiguration();
		config = new YamlConfiguration();
		// check if files exist on disk and create if not
		checkConfigFile();
		checkRecipesFile();
		checkItemsFile();
		checkReadmeFile();
		// load all three YML files
		loadYamlFiles(true);
		// check the attributes in the config YML file
		if (!config.contains(Constants.ABILITIES_DATA)){
			config.set("AbilitiesData.Poison_Duration", Integer.valueOf(200));
			config.set("AbilitiesData.Disorient_Duration", Integer.valueOf(800));
		}
		if (!config.contains("AbilitiesData.Blind_Duration"))
			config.set("AbilitiesData.Blind_Duration", Integer.valueOf(1000));
		if (config.contains(Constants.VERSION_LABEL)){
			if(!config.getString(Constants.VERSION_LABEL).equals(instance.version))
				config.set(Constants.VERSION_LABEL, instance.version);
		} 
		else {
			config.set(Constants.VERSION_LABEL, instance.version);
		}
		
		if (config.contains(Constants.BUILD_LABEL)){
			if (!config.getString(Constants.BUILD_LABEL).equals(instance.build))
				config.set(Constants.BUILD_LABEL, instance.build);
		} 
		else {
			config.set(Constants.BUILD_LABEL, instance.build);
		}
		
		try {
			config.save(configFile);
		}
		catch(IOException e){
			e.printStackTrace();
		}
		reload();
	}