public void onEnable() {

		//Fill our hashmap of material aliases with the ones permitted.
		PopulateMaterials();
		
		//Load the markets, deliveries and revenue
		load();
		
		//If we didn't load the markets, make them
		if(markets == null) {		
			markets = new HashMap<Material, Market>();
			
			for( Material mat : materials.values() ) {
				markets.put(mat,  new Market(this, mat));
			}
		}
		
		//If we didn't load any revenue, start blank
		if(revenue == null) {
			revenue = new HashMap<String, Double>();
		}
		
		//If we didn't load any deliveries, start blank
		if(deliveries == null) {		
			deliveries = new HashMap<String, List<EEItemStack>>();
		}

		
		//Make sure vault has connected to an economy.
		if (!setupEconomy() ) {
			getLogger().info("EmeraldExchange - Disabled due to no Vault dependency found!");
            getServer().getPluginManager().disablePlugin(this);
            return;
        }
		
		//Now enable event listener
		new EEEventListener(this);
		
		//Now schedule a collection notification every 5 minutes
		getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
			public void run() {
				//Notify all players.
				Player[] players = getServer().getOnlinePlayers();
				
				for(Player player : players) {
					notifyPlayer(player.getName());
				}
			}
		}, 5 * 60 * 20L, 5 * 60 * 20L);
		//The above line is initial delay of 5 minutes, repeating every 5 minutes
		
		getLogger().info("EmeraldExchange Enabled.");
	}