private async void ChooseImage_Clicked()
        {
            try
            {
                lblLater.IsVisible      = false;
                lblChooseImageText.Text = "UPLOADING...";

                string     url_user = "******";
                HttpClient _client  = new HttpClient(new NativeMessageHandler());

                string profilePictureURL = "";
                profilePictureURL = await ImageUpload.ProfilePictureUploadAsync();


                if (profilePictureURL != "")
                {
                    string postdataJson   = JsonConvert.SerializeObject(new { profilePicture = profilePictureURL });
                    var    postdataString = new StringContent(postdataJson, new UTF8Encoding(), "application/json");

                    string new_url        = url_user + MainUser.MainUserID.Username;
                    var    response       = _client.PutAsync(new_url, postdataString);
                    var    responseString = response.Result.Content.ReadAsStringAsync().Result;


                    if (response.Result.IsSuccessStatusCode)
                    {
                        MainUser.MainUserID.ProfilePicture = profilePictureURL;
                        await Navigation.PushAsync(new EditDescriptionPage(true));
                    }
                    else
                    {
                        await DisplayAlert("Upload Error", "I really tried my best here. Promise", "Try harder");

                        await Navigation.PushAsync(new EditDescriptionPage(true));
                    }
                }
                else
                {
                    bool IsPictureReady = false;
                    while (!IsPictureReady)
                    {
                        if (profilePictureURL != "" | profilePictureURL != null)
                        {
                            IsPictureReady = true;
                        }
                    }
                    string postdataJson   = JsonConvert.SerializeObject(new { profilePicture = profilePictureURL });
                    var    postdataString = new StringContent(postdataJson, new UTF8Encoding(), "application/json");

                    string new_url        = url_user + MainUser.MainUserID.Username;
                    var    response       = _client.PutAsync(new_url, postdataString);
                    var    responseString = response.Result.Content.ReadAsStringAsync().Result;


                    if (response.Result.IsSuccessStatusCode)
                    {
                        await Navigation.PushAsync(new EditDescriptionPage(true));
                    }
                    else
                    {
                        await DisplayAlert("Upload Error", "I really tried my best here. Promise", "Try harder");

                        await Navigation.PushAsync(new EditDescriptionPage(true));
                    }
                }
            }
            catch (Exception ex)
            {
                try
                {
                    Insights.Report(ex);
                    await DisplayAlert("Error", "I tried to upload your profile picture, but I failed. Miserably.", "*Takes a deep breath*");

                    await Navigation.PushModalAsync(new EditDescriptionPage(true));
                }
                catch
                {
                    await DisplayAlert("Oh God, not again", "I tried to load your profile, but I failed. Horribly.", "*Counting backwards from 10*");
                }
            }
        }