void OnGUI()
        {
            tabID = GUILayout.Toolbar(tabID, new string[] { "Private", "Public" });

            if (config == null)
            {
                Debug.LogError("Error: no config file");
                return;
            }

            switch (tabID)
            {
            case 0:
            {
                config.CLIENT_ID = EditorGUILayout.TextField("Client ID", config.CLIENT_ID);

                GUILayout.BeginHorizontal();
                if (showSecret)
                {
                    config.CLIENT_SECRET = EditorGUILayout.TextField("Client Secret Code", config.CLIENT_SECRET);
                }
                else
                {
                    config.CLIENT_SECRET = EditorGUILayout.PasswordField("Client Secret Code", config.CLIENT_SECRET);
                }
                showSecret = GUILayout.Toggle(showSecret, "Show");
                GUILayout.EndHorizontal();

                if (GUILayout.Button("Get Access Code"))
                {
                    string authUrl = oAuth2.GetAuthURL();
                    Application.OpenURL(authUrl);
                }

                config.ACCESS_TOKEN = EditorGUILayout.TextField("Access Code", config.ACCESS_TOKEN);

                if (GUILayout.Button("Authentication with Acceess Code"))
                {
                    SecurityPolicy.Instate();
                    config.REFRESH_TOKEN = oAuth2.AuthWithAccessCode(config.ACCESS_TOKEN);
                }

                if (GUILayout.Button("Debug Information (WARNING: This may take some time)"))
                {
                    isDebugOn = true;

                    if (config.REFRESH_TOKEN != "")
                    {
                        if (spreadSheet == null)
                        {
                            spreadSheet = new SpreadSheetManager();
                        }

                        var tempData = spreadSheet.GetAllSheets();
                        for (int i = 0; i < tempData.Count; i++)
                        {
                            knownData.Add(new KnownData(tempData[i], tempData[i].GetAllWorkSheetsNames()));
                            spreadsheetNames.Add(tempData[i].spreadsheetEntry.Title.Text);
                        }
                    }
                }

                if (isDebugOn)
                {
                    DrawPreview();
                }
                break;
            }

            case 1:
            {
                config.API_Key = EditorGUILayout.TextField("API Key", config.API_Key);
                break;
            }
            }


            EditorUtility.SetDirty(config);
        }