private function mainUpdateProfile($request)
    {
        $this->validate($request, [
            'name'              => 'required|min:3|max:191',
            'current_password'  => 'required',
        ]);

        $user = User::findOrFail(Auth::id()); // To use Laralum user model

        if (!Hash::check($request->current_password, $user->password)) {
            // Password incorrect
            return __('laralum_profile::general.incorrect_password'); // Update error: incorrect password
        }
        if ($request->hasFile('picture')) {
            $this->validate($request, [
                'picture' => 'image|max:5120',
            ]);

            if ($request->file('picture')->isValid()) {
                $request->file('picture')->move(public_path('/avatars'), md5($user->email));
            } else {
                return __('laralum_profile::general.image_not_valid'); // Update error: image not valid
            }
        } else {
            if ($user->hasAvatar()) {
                if (!$request->save_picture) {
                    File::delete(public_path('/avatars/'.md5($user->email)));
                }
            }
        }
        if ($request->password) {
            $this->validate($request, [
                'password' => 'min:6|confirmed',
            ]);
            $user->update(['password' => $request->password]);
        }

        if ($request->name) {
            $user->update(['name' => $request->name]);
        }

        return 0; // Updated completed okai
    }