diff --git a/app/Http/Controllers/KeyController.php b/app/Http/Controllers/KeyController.php
index 417b95bf8df3d68cd38c076ed771524163e8f9e1..eb9f37a04720da71f692ff88cb5e1167ae557bcb 100644
--- a/app/Http/Controllers/KeyController.php
+++ b/app/Http/Controllers/KeyController.php
@@ -5,36 +5,58 @@ namespace App\Http\Controllers;
 use Cookie;
 use Illuminate\Http\Request;
 use LaravelLocalization;
+use \App\Models\Key;
 
 class KeyController extends Controller
 {
     public function index(Request $request)
     {
         $redirUrl = $request->input('redirUrl', "");
+        $cookie = Cookie::get('key');
+        $key = $request->input('keyToSet', '');
 
-        return view('key')
-            ->with('title', trans('titles.key'));
+        if(empty($key) && empty($cookie)){
+            $key = 'enter_key_here';
+        }elseif(empty($key) && !empty($cookie)){
+            $key = $cookie;
+        }elseif(!empty($key)){
+            $key = $request->input('key');
+        }
 
+        $cookieLink = LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), route('loadSettings', Cookie::get()));
+        return view('key')
+            ->with('title', trans('titles.key'))
+            ->with('cookie', $key)
+            ->with('cookieLink', $cookieLink);
     }
 
     public function setKey(Request $request)
     {
         $redirUrl = $request->input('redirUrl', "");
-        $key = $request->input('key', '');
+        $keyToSet = $request->input('keyToSet');
+        $key = new Key ($request->input('keyToSet', ''));
 
-        if (app('App\Models\Key')->getStatus()) {
+        if ($key->getStatus()) {
             # Valid Key
             $host = $request->header("X_Forwarded_Host", "");
             if (empty($host)) {
                 $host = $request->header("Host", "");
             }
-
-            Cookie::queue('key', $key, 525600, '/', null, false, false);
-            return redirect($redirUrl);
+            Cookie::queue('key', $keyToSet, 0, '/', null, false, false);
+            $settings = Cookie::get();
+            $settings['key'] = $keyToSet;
+            $cookieLink = LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), route('loadSettings', $settings));
+            return view('key')
+                ->with('title', trans('titles.key'))
+                ->with('cookie', $keyToSet)
+                ->with('cookieLink', $cookieLink);
         } else {
+            $cookieLink = LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), route('loadSettings', Cookie::get()));
             return view('key')
                 ->with('title', trans('titles.key'))
-                ->with('keyValid', false);
+                ->with('keyValid', false)
+                ->with('cookie', 'enter_key_here')
+                ->with('cookieLink', $cookieLink);
         }
     }
 
diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php
index a4140a043ef0ce02571f2bbb1917363599c5822f..d22e7d633b654d27c9124ba6b616695cafade905 100644
--- a/app/Http/Controllers/SettingsController.php
+++ b/app/Http/Controllers/SettingsController.php
@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
 use Cookie;
 use LaravelLocalization;
 use \App\MetaGer;
+use \App\Models\Key;
 use \Illuminate\Http\Request;
 
 class SettingsController extends Controller
@@ -56,7 +57,7 @@ class SettingsController extends Controller
         $cookies = Cookie::get();
         $settingActive = false;
         foreach ($cookies as $key => $value) {
-            if (\starts_with($key, [$fokus . "_engine_", $fokus . "_setting_"]) || strpos($key, $fokus . '_blpage') === 0 || $key === 'dark_mode' || $key === 'new_tab' || $key === 'key') {
+            if (\starts_with($key, [$fokus . "_engine_", $fokus . "_setting_"]) || strpos($key, $fokus . '_blpage') === 0 || $key === 'dark_mode' || $key === 'new_tab' || $key === 'key' || $key === 'zitate') {
                 $settingActive = true;
             }
         }
@@ -211,16 +212,12 @@ class SettingsController extends Controller
         // Currently only the setting for quotes is supported
 
         $quotes = $request->input('zitate', '');
-        if(!empty($quotes)){
-            if($quotes === "off"){
-                $path = \Request::path();
-                $cookiePath = "/" . substr($path, 0, strpos($path, "meta/") + 5);
-                Cookie::queue($fokus . "_setting_zitate", "off", 0, $cookiePath, null, false, false);
-            }elseif($quotes === "on") {
-                $path = \Request::path();
-                $cookiePath = "/" . substr($path, 0, strpos($path, "meta/") + 5);
-                Cookie::queue($fokus . "_setting_zitate", "", 0, $cookiePath, null, false, false);
-            }
+        if(!empty($quotes)) {
+        	if($quotes === "off") {
+        		Cookie::queue('zitate', 'off', 0, '/', null, false, false);
+        	}elseif($quotes === "on") {
+        		Cookie::queue('zitate', '', 0, '/', null, false, false);
+        	}
         }
 
         $darkmode = $request->input('dm');
@@ -270,6 +267,9 @@ class SettingsController extends Controller
             if($key === 'key'){
                 Cookie::queue($key, "", 0, '/', null, false, false);
             }
+            if($key === 'zitate'){
+                Cookie::queue($key, "", 0, '/', null, false, false);
+            }
         }
         $this->clearBlacklist($request);
 
@@ -298,7 +298,9 @@ class SettingsController extends Controller
                 Cookie::queue($key, "", 0, '/', null, false, false);
         } elseif($key === 'key') {
             Cookie::queue($key, "", 0, '/', null, false, false);
-        }else{
+        } elseif($key === 'zitate') {
+            Cookie::queue($key, "", 0, '/', null, false, false);
+        } else{
             Cookie::queue($key, "", 0, $cookiePath, null, false, false);
         }
         return redirect($request->input('url', 'https://metager.de'));
@@ -314,7 +316,11 @@ class SettingsController extends Controller
             if($key === 'dark_mode'){
                 Cookie::queue($key, "", 0, '/', null, false, false);    
             } elseif($key === 'new_tab') {
-                    Cookie::queue($key, "", 0, '/', null, false, false);    
+                Cookie::queue($key, "", 0, '/', null, false, false);    
+            } elseif($key === 'key') {
+                Cookie::queue($key, "", 0, '/', null, false, false);    
+            } elseif($key === 'zitate') {
+                Cookie::queue($key, "", 0, '/', null, false, false);    
             } else {
                 Cookie::queue($key, "", 0, $cookiePath, null, false, false);
             }
@@ -404,39 +410,50 @@ class SettingsController extends Controller
         $path = \Request::path();
         $cookiePath = "/" . substr($path, 0, strpos($path, "meta/") + 5);
 
-        $sumaFile = MetaGer::getLanguageFile();
-        $sumaFile = json_decode(file_get_contents($sumaFile), true);
-        
-        $foki = array_keys($sumaFile['foki']);
-        $regexUrl = '#^(\*\.)?[a-z0-9]+(\.[a-z0-9]+)?(\.[a-z0-9]{2,})$#';
+        $langFile = MetaGer::getLanguageFile();
+        $langFile = json_decode(file_get_contents($langFile));
 
+        $regexUrl = '#^(\*\.)?[a-z0-9]+(\.[a-z0-9]+)?(\.[a-z0-9]{2,})$#';
 
-        $cookies = $request->all();
-        foreach($cookies as $key => $value){
-            $blpage = false;
-            foreach($foki as $fokus){
-                if(strpos($key, $fokus . '_blpage') === 0 && preg_match($regexUrl, $value) === 1){
-                    Cookie::queue($key, $value, 0, $cookiePath, null, false, false);
-                    $blpage = true;
+        $settings = $request->all();
+        foreach($settings as $key => $value) {
+            if($key === 'key') {
+                $memberKey = new Key($value);
+                if($memberKey->getStatus()){
+                    Cookie::queue($key, $value, 0, '/', null, false, false);
                 }
             }
-            if($blpage){
-                continue;
-            }
-            if($key === 'dark_mode'){
+            elseif($key === 'dark_mode' && ($value === '1' || $value === '2')){
                 Cookie::queue($key, $value, 0, '/', null, false, false);
             }
-            if($key === 'new_tab' && $value === 'on') {
+            elseif($key === 'new_tab' && $value === 'on') {
                 Cookie::queue($key, 'on', 0, '/', null, false, false);
-            }
-            foreach($sumaFile['filter']['parameter-filter'] as $suma => $filter){
-                if($key === $suma && $value === $filter){
-                    Cookie::queue($key, $value, 0, $cookiePath, null, false, false);
-                }
+            }elseif($key === 'zitate' && $value === 'off'){
+                Cookie::queue($key, 'off', 0, '/', null, false, false);
+            } else {
+                foreach($langFile->foki as $fokus => $fokusInfo) {
+                    if(strpos($key, $fokus . '_blpage') === 0 && preg_match($regexUrl, $value) === 1){
+                        Cookie::queue($key, $value, 0, $cookiePath, null, false, false);
+                    } elseif(strpos($key, $fokus.'_setting_') === 0) {
+                        foreach($langFile->filter->{'parameter-filter'} as $parameter) {
+                            foreach($parameter->values as $p => $v) {
+                                if($key === $fokus.'_setting_' . $parameter->{'get-parameter'} && $value === $p){
+                                    Cookie::queue($key, $value, 0, $cookiePath, null, false, false);
+                                }
+                            }
+                        }
+                    } else {
+                        $sumalist = array_keys($this->getSumas($fokus));
+                        foreach($sumalist as $suma) {
+                            if(strpos($key, $fokus . '_engine_' . $suma) === 0) {
+                                Cookie::queue($key, 'off', 0, $cookiePath, null, false, false);
+                            }
+                        }
+                    }
 
+                }
             }
         }
-
         return redirect(LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), url('/')));
     }
-}
+}
\ No newline at end of file
diff --git a/app/MetaGer.php b/app/MetaGer.php
index e61f4e82c09dc7b40436a7d86096440326ad56a5..2767f0272aa51b2207a7116eca924007ea8454a2 100644
--- a/app/MetaGer.php
+++ b/app/MetaGer.php
@@ -1092,12 +1092,12 @@ class MetaGer
         $this->agent = new Agent();
         $this->mobile = $this->agent->isMobile();
         # Sprüche
-        if (!App::isLocale("de") || (\Cookie::has($this->getFokus() . '_setting_zitate') && \Cookie::get($this->getFokus() . '_setting_zitate') === "off")) {
-            $this->sprueche = "off";
+        if (!App::isLocale('de') || (\Cookie::has('zitate') && \Cookie::get('zitate') === 'off')) {
+            $this->sprueche = 'off';
         } else {
-            $this->sprueche = "on";
+            $this->sprueche = 'on';
         }
-        if ($request->filled("zitate") && $request->input('zitate') === "on" || $request->input('zitate') === "off") {
+        if ($request->filled('zitate') && $request->input('zitate') === 'on' || $request->input('zitate') === 'off') {
             $this->sprueche = $request->input('quotes');
         }
 
diff --git a/resources/lang/de/key.php b/resources/lang/de/key.php
index c39f62f45b1f0f99f0586fc3277f26ee4334da06..f29f434b0c955872eb77b9fe56ae78593892bc20 100644
--- a/resources/lang/de/key.php
+++ b/resources/lang/de/key.php
@@ -7,8 +7,8 @@ return [
     'p3' => 'Wenn Sie sich den Cookie anschauen steht dort drin "key=xxxx". Wir verwenden diesen dementsprechend nicht für Tracking-Zwecke. Er wird auch zu keinem Zeitpunkt in irgendeiner Form von uns gespeichert oder geloggt.',
     'p4' => 'Wichtig: Um diese Funktion nutzen zu können, müssen Sie Cookies in Ihrem Browser zugelassen haben. Die Einstellung bleibt dann solange gespeichert, wie Ihr Browser Cookies speichert.',
     'p5' => 'Um den Schlüssel darüber hinausgehend speichern zu können haben Sie folgende Möglichkeiten:',
-    'li1' => 'Richten Sie sich <code>:url</code>',
-    'li2' => 'Falls Sie MetaGer als Standardsuchmaschine verwenden, können Sie nach der Schlüsseleingabe den Eintrag löschen und erneut hinzufügen. Wenn Sie in Ihrem Browser einen "Suchstring" eingeben müssen, können Sie <code>:url</code> verwenden.',
+    'li1' => 'Richten Sie sich folgenden Link als Startseite/Lesezeichen ein:',
+    'li2' => 'Falls Sie MetaGer als Standardsuchmaschine verwenden, können Sie nach der Schlüsseleingabe den Eintrag löschen und erneut hinzufügen. Wenn Sie in Ihrem Browser einen "Suchstring" eingeben müssen, können Sie folgenden verwenden:',
     'placeholder1' => 'Schlüssel eingeben...',
     'removeKey' => 'aktuellen Schlüssel entfernen',
     'invalidKey' => 'Der eingegebene Schlüssel ist ungültig',
diff --git a/resources/lang/de/settings.php b/resources/lang/de/settings.php
index 26de372ad66b973bb77db40cabb9dec7b3aff793..3925e423a48bbcd475e9dbed2b284c7481e2d183 100644
--- a/resources/lang/de/settings.php
+++ b/resources/lang/de/settings.php
@@ -25,7 +25,7 @@ return [
     'add' => 'Hinzufügen',
     'clear' => 'Blacklist leeren',
     'copy' => 'Kopieren',
-    'hint' => 'Diese Einstellung betrifft alle Fokusse und Unterseiten übergreifend!',
+    'hint' => 'Diese Einstellungen betreffen alle Fokusse und Unterseiten übergreifend!',
 
     'darkmode' => 'Dunklen Modus umschalten',
     'system' => 'Systemstandard',
diff --git a/resources/lang/en/key.php b/resources/lang/en/key.php
index 8026105ee2fefc9038bf01268a3d499dde2030d0..a78cb1fe3b7d01ec60431d39d5972a814409158d 100644
--- a/resources/lang/en/key.php
+++ b/resources/lang/en/key.php
@@ -7,7 +7,7 @@ return [
     'p3' => 'If you look at the cookie there is "key = xxxx" in there. We do not use it for tracking purposes. It is also never stored or logged by us in any way.',
     'p4' => 'Important: In order to use this function, you must have allowed cookies in your browser. The setting will remain saved as long as your browser saves cookies.',
     'p5' => 'In order to be able to save the key beyond that, you have the following options:',
-    'li1' => 'Set up <code>:url</code> as the start page in your browser.',
+    'li1' => 'Set the following URL as start page/bookmark in your browser:',
     'li2' => 'If you are using MetaGer as the default search engine, you can delete the entry after entering the key and add it again. If you have to enter a "search string" in your browser, you can use <code>:url</code>.',
     'placeholder1' => 'Enter key ...',
     'removeKey' => 'Remove current key',
diff --git a/resources/lang/en/settings.php b/resources/lang/en/settings.php
index 62673341ed689a7cf4efa650a3347206d5f08e6e..d45aec158ba791736576d44560aca2baf292453c 100644
--- a/resources/lang/en/settings.php
+++ b/resources/lang/en/settings.php
@@ -25,7 +25,7 @@ return [
     'add' => 'Add',
     'clear' => 'Clear black list',
     'copy' => 'Copy',
-    'hint' => 'This setting affects all foci and sub-pages!',
+    'hint' => 'These settings affect all foci and sub-pages!',
 
     'darkmode' => 'Toggle dark mode',
     'system' => 'System Default',
diff --git a/resources/less/metager/general/specific.less b/resources/less/metager/general/specific.less
index 028c845406144e4477c8459e2c156c52b69a9e5e..2f812a934e7876c25a8f008fd44cb353fbe9af6f 100644
--- a/resources/less/metager/general/specific.less
+++ b/resources/less/metager/general/specific.less
@@ -20,4 +20,14 @@ fieldset input[type=text] {
     padding-right: 10px;
     border-width: 1px;
     overflow: visible;
+}
+
+.copyLink{
+    display:flex;
+    .loadSettings{
+        flex-grow:1;
+        width:100%;
+        background-color:@input-bg;
+        color:@input-text;
+    }
 }
\ No newline at end of file
diff --git a/resources/less/metager/pages/settings.less b/resources/less/metager/pages/settings.less
index 767d8304624b554810a3282075a05c94ef95c9b3..57987b15f319cf01812c86e86ea756378dfff313 100644
--- a/resources/less/metager/pages/settings.less
+++ b/resources/less/metager/pages/settings.less
@@ -88,14 +88,4 @@
             width:20px;
         }
     }
-    #cookieLink{
-        display:flex;
-        align-items:left;
-        #loadSettings{
-            flex-grow:1;
-            width:100%;
-            background-color:@input-bg;
-            color:@input-text;
-        }
-    }
 }
\ No newline at end of file
diff --git a/resources/views/key.blade.php b/resources/views/key.blade.php
index 1b66cf0f02ba685c5de512e355b887df7ce5eefe..eec467c0a73225d9dbf3054474f0059f1f8ec135 100644
--- a/resources/views/key.blade.php
+++ b/resources/views/key.blade.php
@@ -21,30 +21,31 @@
         <p>{{ trans('key.p4') }}</p>
         <p>{{ trans('key.p5') }}</p>
         <ol>
-            <li>{!! trans('key.li1', ["url" =>
-                    route("startpage", [
-                        "key" =>
-                            empty(Cookie::get('key')) ?
-                                "enter_key_here" :
-                                Cookie::get('key')
-                            ])])!!} als Startseite im Browser ein.</li>
-            <li>@lang('key.li2', ["url" =>
-                    route("resultpage", [
-                        "key" =>
-                            empty(Cookie::get('key')) ?
-                                "enter_key_here" :
-                                Cookie::get('key')
-                        ]) . "&eingabe=%s"])</li>
+            <li>
+                @lang ('key.li1')
+                <div class="copyLink">
+                    <input id="loadSettings" class="loadSettings" type="text" value="{{$cookieLink}}">
+                    <button class="js-only btn btn-default" onclick="var copyText = document.getElementById('loadSettings');copyText.select();copyText.setSelectionRange(0, 99999);document.execCommand('copy');">@lang('settings.copy')</button>
+                </div>
+            </li>
+            </br>
+            <li>
+                @lang('key.li2')
+                <div class="copyLink">
+                    <input id="searchString" class="loadSettings" type="text" value="{{route("resultpage", ["key" => $cookie]) . "&eingabe=%s"}}">
+                    <button class="js-only btn btn-default" onclick="var copyText = document.getElementById('searchString');copyText.select();copyText.setSelectionRange(0, 99999);document.execCommand('copy');">@lang('settings.copy')</button>
+                </div>
+            </li>
         </ol>
     </div>
     <div class="section">
         <div id="form-wrapper">
             <form method="post">
                 <input type="hidden" name="redirUrl" value="{{ Request::input('redirUrl', '') }}" />
-                <input type="text" name="key" value="{{Cookie::get('key')}}" placeholder="@lang('key.placeholder1')" autofocus>
+                <input type="text" name="keyToSet" value="{{$cookie === 'enter_key_here' ? '' : $cookie}}" placeholder="@lang('key.placeholder1')" autofocus>
                 <button type="submit" class="btn btn-success">OK</button>
             </form>
-            @if(Cookie::get('key') !== NULL)
+            @if($cookie !== 'enter_key_here')
             <form method="post" action="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), action('KeyController@removeKey', ['redirUrl' => url()->full()])) }}">
                 <input type="hidden" name="redirUrl" value="{{ Request::input('redirUrl', '') }}" />
                 <button type="submit" class="btn btn-default">@lang('key.removeKey')</button>
diff --git a/resources/views/settings/index.blade.php b/resources/views/settings/index.blade.php
index a17501e54fe0dbbfbcaee586f8aa6d6dbedc80bd..cf82c1a47a4619958344af022f4033467e81dbcd 100644
--- a/resources/views/settings/index.blade.php
+++ b/resources/views/settings/index.blade.php
@@ -12,8 +12,8 @@
         <h2>@lang('settings.hint.header')</h2>
         <p>@lang('settings.hint.text', ["link" => LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), route('showAllSettings', ['url' => url()->full()])) ])</p>
         <p>@lang('settings.hint.loadSettings')</p>
-        <div id="cookieLink">
-            <input id="loadSettings" type="text" value="{{$cookieLink}}">
+        <div class="copyLink">
+            <input id="loadSettings" class="loadSettings" type="text" value="{{$cookieLink}}">
             <button class="js-only btn btn-default" onclick="var copyText = document.getElementById('loadSettings');copyText.select();copyText.setSelectionRange(0, 99999);document.execCommand('copy');">@lang('settings.copy')</button>
         </div>
     </div>
@@ -125,6 +125,7 @@
     
         <div class="card-light">
             <h2>Weitere Einstellungen</h2>
+            <p>@lang('settings.hint')</p>
             <form id="setting-form" action="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), route('enableSetting')) }}" method="post" class="form">
                 <input type="hidden" name="fokus" value="{{ $fokus }}">
                 <input type="hidden" name="url" value="{{ $url }}">
@@ -135,7 +136,6 @@
                         <option value="off" {{ Cookie::get('dark_mode') === "1" ? "disabled selected" : "" }}>@lang('settings.light')</option>
                         <option value="on" {{ Cookie::get('dark_mode') === "2" ? "disabled selected" : "" }}>@lang('settings.dark')</option>
                     </select>
-                    <small>@lang('settings.hint')</small>
                 </div>
                 <div class="form-group">
                     <label for="nt">@lang('settings.newTab')</label>
@@ -143,14 +143,13 @@
                         <option value="off" {{ !Cookie::has('new_tab') ? "disabled selected" : "" }}>@lang('settings.off')</option>
                         <option value="on" {{ Cookie::get('new_tab') === "on" ? "disabled selected" : "" }}>@lang('settings.on')</option>
                     </select>
-                    <small>@lang('settings.hint')</small>
                 </div>
                 @if(LaravelLocalization::getCurrentLocale() === "de")
                 <div class="form-group">
                     <label for="zitate">Zitate</label>
                     <select name="zitate" id="zitate" class="form-control">
-                        <option value="on" @if(Cookie::get($fokus . "_setting_zitate") === null)disabled selected @endif>Anzeigen</option>
-                        <option value="off" {{ Cookie::get($fokus . "_setting_zitate") === "off" ? "disabled selected" : "" }}>Nicht Anzeigen</option>
+                        <option value="on" @if(Cookie::get("zitate") === null)disabled selected @endif>Anzeigen</option>
+                        <option value="off" {{ Cookie::get("zitate") === "off" ? "disabled selected" : "" }}>Nicht Anzeigen</option>
                     </select>
                 </div>
                 @endif