global $edd_slg_model, $edd_slg_scripts, $edd_slg_render, $edd_slg_shortcodes, $edd_slg_public, $edd_slg_admin;
    // loads the Misc Functions file
    require_once EDD_SLG_DIR . '/includes/edd-slg-misc-functions.php';
    edd_slg_initialize();
    //social class loads
    require_once EDD_SLG_SOCIAL_DIR . '/edd-slg-social.php';
    //Model Class for generic functions
    require_once EDD_SLG_DIR . '/includes/class-edd-slg-model.php';
    $edd_slg_model = new EDD_Slg_Model();
    //Scripts Class for scripts / styles
    require_once EDD_SLG_DIR . '/includes/class-edd-slg-scripts.php';
    $edd_slg_scripts = new EDD_Slg_Scripts();
    $edd_slg_scripts->add_hooks();
    //Renderer Class for HTML
    require_once EDD_SLG_DIR . '/includes/class-edd-slg-renderer.php';
    $edd_slg_render = new EDD_Slg_Renderer();
    //Shortcodes class for handling shortcodes
    require_once EDD_SLG_DIR . '/includes/class-edd-slg-shortcodes.php';
    $edd_slg_shortcodes = new EDD_Slg_Shortcodes();
    $edd_slg_shortcodes->add_hooks();
    //Public Class for public functionlities
    require_once EDD_SLG_DIR . '/includes/class-edd-slg-public.php';
    $edd_slg_public = new EDD_Slg_Public();
    $edd_slg_public->add_hooks();
    //Admin Pages Class for admin site
    require_once EDD_SLG_ADMIN . '/class-edd-slg-admin.php';
    $edd_slg_admin = new EDD_Slg_Admin();
    $edd_slg_admin->add_hooks();
    //Register Widget
    require_once EDD_SLG_DIR . '/includes/widgets/class-edd-slg-login-buttons.php';
}
function edd_slg_plugin_loaded()
{
    //check easy digital downloads is activated or not
    if (class_exists('Easy_Digital_Downloads')) {
        // load first text domain
        edd_slg_load_text_domain();
        //check EDD_License class is exist
        if (class_exists('EDD_License')) {
            // Instantiate the licensing / updater. Must be placed in the main plugin file
            $license = new EDD_License(__FILE__, 'Social Login', EDD_SLG_VERSION, 'WPWeb');
        }
        /**
         * Deactivation Hook
         *
         * Register plugin deactivation hook.
         *
         * @package Easy Digital Downloads - Social Login
         * @since 1.0.0
         */
        register_deactivation_hook(__FILE__, 'edd_slg_uninstall');
        /**
         * Plugin Setup (On Deactivation)
         *
         * Delete  plugin options.
         *
         * @package Easy Digital Downloads - Social Login
         * @since 1.0.0
         */
        function edd_slg_uninstall()
        {
        }
        /**
         * Start Session
         * 
         * @package Easy Digital Downloads - Social Login
         * @since 1.0.0
         */
        function edd_slg_start_session()
        {
            if (!session_id()) {
                session_start();
            }
        }
        //add action init for starting a session
        add_action('init', 'edd_slg_start_session');
        /**
         * Includes Files
         * 
         * Includes some required files for plugin
         *
         * @package Easy Digital Downloads - Social Login
         * @since 1.0.0
         */
        global $edd_slg_model, $edd_slg_scripts, $edd_slg_render, $edd_slg_shortcodes, $edd_slg_public, $edd_slg_admin;
        // loads the Misc Functions file
        require_once EDD_SLG_DIR . '/includes/edd-slg-misc-functions.php';
        edd_slg_initialize();
        //social class loads
        require_once EDD_SLG_SOCIAL_DIR . '/edd-slg-social.php';
        //Model Class for generic functions
        require_once EDD_SLG_DIR . '/includes/class-edd-slg-model.php';
        $edd_slg_model = new EDD_Slg_Model();
        //Scripts Class for scripts / styles
        require_once EDD_SLG_DIR . '/includes/class-edd-slg-scripts.php';
        $edd_slg_scripts = new EDD_Slg_Scripts();
        $edd_slg_scripts->add_hooks();
        //Renderer Class for HTML
        require_once EDD_SLG_DIR . '/includes/class-edd-slg-renderer.php';
        $edd_slg_render = new EDD_Slg_Renderer();
        //Shortcodes class for handling shortcodes
        require_once EDD_SLG_DIR . '/includes/class-edd-slg-shortcodes.php';
        $edd_slg_shortcodes = new EDD_Slg_Shortcodes();
        $edd_slg_shortcodes->add_hooks();
        //Public Class for public functionlities
        require_once EDD_SLG_DIR . '/includes/class-edd-slg-public.php';
        $edd_slg_public = new EDD_Slg_Public();
        $edd_slg_public->add_hooks();
        //Admin Pages Class for admin site
        require_once EDD_SLG_ADMIN . '/class-edd-slg-admin.php';
        $edd_slg_admin = new EDD_Slg_Admin();
        $edd_slg_admin->add_hooks();
        //Register Widget
        require_once EDD_SLG_DIR . '/includes/widgets/class-edd-slg-login-buttons.php';
        //Loads the Templates Functions file
        require_once EDD_SLG_DIR . '/includes/edd-slg-template-functions.php';
        //Loads the Template Hook File
        require_once EDD_SLG_DIR . '/includes/edd-slg-template-hooks.php';
    }
}