private void _initConfig()
 {
     logger.Debug("initializing the config manager");
     try
     {
         // init the config man
         _cmConfigManager = new ConfigurationManager();
         // load the local config
         _cmConfigManager.LoadLocal();
         // check if a db should be used, or not
         if (_cmConfigManager.Config.UseDataBase && !string.IsNullOrWhiteSpace(_cmConfigManager.Config.DatabaseKeyFile))
         {
             logger.Debug("config manager using the database");
             // check for internet connection: http://stackoverflow.com/questions/2031824/what-is-the-best-way-to-check-for-internet-connectivity-using-net
             if (NetworkUtils.CheckInternetConnection())
             {
                 logger.Debug("initialising the google api wrapper");
                 // init the google wrapper
                 //_gawGoogleWrapper = new GoogleApiWrapper();
                 _gawGoogleWrapper.LoadAuthParams(_cmConfigManager.Config.DatabaseKeyFile);
                 _gawGoogleWrapper.TokenRefreshed += _gawGoogleWrapper_TokenRefreshed;
                 if (!_gawGoogleWrapper.NeedsAuthorization)
                 { // it needs to be authorized before use
                     logger.Debug("initialising the database wrapper");
                     // init the database handler
                     DatabaseWrapper dbWrapper = new DatabaseWrapper(_gawGoogleWrapper.AuthParams);
                     // try initing the config table
                     if (dbWrapper.InitializeConfigTable() && dbWrapper.InitializeActivityLogTable())
                     {
                         // tell the config man to use the database
                         _cmConfigManager.Database = dbWrapper;
                         // reload the config
                         _cmConfigManager.Load();
                         // tell the activity log man to use the database
                         _almActivityLogManager.Database = dbWrapper;
                     }
                 }
                 else
                 {
                     logger.Warn("App not authorized: {0}", _cmConfigManager.Config.DatabaseKeyFile);
                     _niTrayicon.ShowBalloonTip(15000, "Warning", "The app needs to be authorized before using the database! Go to settings!", ToolTipIcon.Warning);
                 }
             }
             else
             {
                 logger.Warn("UseDatabase = true, but no internet connection");
                 _niTrayicon.ShowBalloonTip(15000, "Warning", "The app is configured to use the database, but no internet connection available. Falling back to offline mode.", ToolTipIcon.Warning);
             }
         }
     }
     catch (Exception ex)
     {
         logger.Error(ex, "Error while loading the config: {0}", ex.Message);
         MessageBox.Show("Error loading config! Using default values.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }