@Override
    public void onEnable() {

        PluginDescriptionFile pdfFile = this.getDescription();

        getConfig().options().copyDefaults(true);
        saveConfig();
        
        if (!setupPermissions()) {
            this.log.warning(prefix + ChatColor.RED + "Permission Failure! - Make sure that you have a permissions plugin and vault in your plugins folder!");
            this.setEnabled(false);
            return;
        }

        if (this.getConfig().getBoolean("use-mysql")) {
            this.log.info("[" + pdfFile.getName() + "] Using MySQL for database!");
            initMySQL();
        } else if (!this.getConfig().getBoolean("use-mysql")) {
            this.log.info("[" + pdfFile.getName() + "] Using SQLite for database!");
            initSQLite();
        }
        
        getServer().getPluginManager().registerEvents(uTestListener, this);

        uTestExecutor = new uTestCommandHandler(this);
        uTestQuestioner = new uTestQuestioner(this);
        getCommand("ut").setExecutor(uTestExecutor);
        getCommand("utest").setExecutor(uTestExecutor);
        getCommand("answer").setExecutor(uTestQuestioner);

    }