@Override
	public void onEnable() {
		config = getConfig();
		config.options().copyDefaults(true);
		saveConfig();
		cfile = new File(getDataFolder(), "config.yml");
		instance = this;
		getServer().getPluginManager().registerEvents(this, this);
		this.saveDefaultConfig();
		if (setupEconomy()) {
			FreeForAll.instance = this;
			FreeForAll.ffaconfig = new FFAConfig(this);
			ffaconfig.load();

			loadArenas();
			new Queue().runTaskTimer(this, 20, 20);

			System.out.println("[FreeForAll] arenas loaded.");
			try {
				DB = new MySQLc(this);
				usingDataBaseLeaderBoards = true;

				try {
					engineManager.registerEngine(new LeaderboardEngine(DB));
				} catch (EngineException ex) {
					System.out.println(ex.getMessage());
				}
			} catch (Exception ex) {
				System.out.println(ex.getMessage());
				System.out.println("Can't load database");
			}
			System.out.println("[FreeForAll] Starting base engines...");
			try {
				engineManager.registerEngine(new InventoryEngine());
			} catch (EngineException ex) {
				System.out.println(ex.getMessage());
			}
			try {
				engineManager.registerEngine(new OfflineStorageEngine());
			} catch (EngineException ex) {
				System.out.println(ex.getMessage());
			}
			try {
				engineManager.registerEngine(new StorageEngine());
			} catch (EngineException ex) {
				System.out.println(ex.getMessage());
			}

			try {
				engineManager.registerEngine(new KillStreakEngine());
			} catch (EngineException ex) {
				System.out.println(ex.getMessage());
			}
			try {
				engineManager.registerEngine(new DebugEngine());
			} catch (EngineException ex) {
				System.out.println(ex.getMessage());
			}
			System.out.println("[FreeForAll] Done starting base engines.");
			ffapl = new FFAPlayerListener(this);
			System.out.println("[FreeForAll] has been enabled.");

			if (this.getDescription().getVersion().contains("EB")) {
				Bukkit.getConsoleSender().sendMessage(ChatColor.BLUE + "[FreeForAll] YOU ARE USING AN EXPERIMENTAL BUILD. USE AT YOUR OWN RISK.");
			}
		} else {
			System.out.println("[FreeForAll] unable to load vault.");
			getServer().getPluginManager().disablePlugin(this);
		}
	}