private void SignInAndUpdate(Credential credential)
    {
        Debug.Log("We are here");
        gameManager.ShowLoading(true);
        Auth.SignInWithCredentialAsync(credential).ContinueWith(task =>
        {
            if (task.IsFaulted)
            {
                Debug.LogError("SignInWithCredentialAsync encountered an error: " +
                               task.Exception);
                return;
            }

            User = task.Result;

            Debug.Log("User signed in successfully");
            Firebase.Auth.Credential credentialUpdate = Firebase.Auth.EmailAuthProvider.GetCredential(Email, Password);
            User.LinkWithCredentialAsync(credentialUpdate).ContinueWith(UpdateCredentialTask =>
            {
                if (UpdateCredentialTask.IsCanceled)
                {
                    Debug.LogError("LinkWithCredentialAsync was canceled.");
                    return;
                }
                if (UpdateCredentialTask.IsFaulted)
                {
                    Debug.LogError("LinkWithCredentialAsync encountered an error: " + UpdateCredentialTask.Exception);
                    return;
                }

                User = UpdateCredentialTask.Result;
                Debug.LogFormat("Credentials successfully linked to Firebase user: {0} ({1})",
                                User.Email);
            });

            IDictionary <string, object> updatedFields = new Dictionary <string, object> {
                { "Email", Email },
                { "Password", Password },
                { "PhoneNumber", Phone_Number },
                { "Id", User.UserId },
                { "Name", Name },
                { "LastName", LastName },
                { "Patronymic", Patronymic },
                { "Birthday", Birthday },
            };

            Reference.Child("users").Child(User.UserId).UpdateChildrenAsync(updatedFields).ContinueWithOnMainThread(UpdateTask =>
            {
                if (UpdateTask.IsFaulted)
                {
                    Debug.Log("Error " + UpdateTask.Exception);
                }
                else if (UpdateTask.IsCompleted)
                {
                    gameManager.Panels[2].GetComponent <Animator>().Play("SSCR Fade-out");

                    //Signin(Email, Password);
                    Debug.Log("User's data was successfully updated");
                    PlayerPrefs.SetString(PrefsKey.RememberEmail, Email);
                    PlayerPrefs.SetString(PrefsKey.RememberPass, Password);
                    Reference.Child("users").Child(User.UserId).ChildChanged += HandleValueChanged;

                    GetData();
                }
            });
        });
        gameManager.ShowLoading(false);
    }