diff --git a/src/components/Article.vue b/src/components/Article.vue
index 6afc4b16fded68080ba8136e7ff7fe9d7d82226d..25e5d69c15fce3bf3299d6cddbecbe6feeecf4a8 100644
--- a/src/components/Article.vue
+++ b/src/components/Article.vue
@@ -27,8 +27,8 @@
         </ul>
       </section>
       <div class="fade">
-        <router-link :to="link_to_self.ref" @click.native="article_link_click(link_to_self)">
-          Velg âž”
+        <router-link :to="link_to_self.ref" @click.native="details_click(link_to_self)">
+          Velg 🡢
         </router-link>
       </div>
     </div>
@@ -60,11 +60,17 @@ export default {
   props: {
     article: Object
   },
+  data: function() {
+    return {
+      source: null
+    }
+  },
   computed: {
     link_to_self: function() {
-      return {
+      return  {
         ref: '/' + this.dictionary + '/' + this.article.article_id + '/' + encodeURIComponent(this.article.lemmas[0].lemma),
-        article_id: this.article.article_id
+        article: this.article,
+        source: this.source
       }
     },
     dictionary: function() {
@@ -86,7 +92,14 @@ export default {
   methods: {
     article_link_click: function(item) {
       this.$emit('article-click', item)
+    },
+    details_click: function(item) {
+      this.$emit('details-click', item)
     }
+  },
+  created: function() {
+    // make non reactive
+    this.source = this.$route.path
   }
 }
 </script>
diff --git a/src/components/DictionaryView.vue b/src/components/DictionaryView.vue
index 0a7f6f4150d241ab15aefd3fffd1f7ae7edbea2b..51bf5a8db31da02681f13dc28927b2911b65f98d 100644
--- a/src/components/DictionaryView.vue
+++ b/src/components/DictionaryView.vue
@@ -1,8 +1,5 @@
 <template>
   <main>
-    <p class="description" :class="$vuetify.breakpoint.name" v-if="$vuetify.breakpoint.mdAndUp && ! $route.name">
-        Skrivemåte og bøying i tråd med norsk rettskriving
-    </p>
     <div class="search_container">
       <div class="lang_select_container">
         <v-radio-group row v-model="lang">
@@ -38,7 +35,11 @@
     <div id="spinner" v-if="waiting">
       <v-progress-circular indeterminate color="secondary" size="120"></v-progress-circular>
     </div>
-    <SearchResults :hits="search_results" :lang="lang" @article-click="article_link_click" v-if="search_results.length && ! waiting" />
+    <SearchResults :hits="search_results"
+                    :lang="lang"
+                    @article-click="article_link_click"
+                    @details-click="details_click"
+                    v-if="search_results.length && ! waiting" />
     <div id="single_article_container" v-if="article">
       <Article :key="article_key" :article="article" @article-click="article_link_click" />
     </div>
@@ -78,7 +79,7 @@ axios.interceptors.request.use(function (config) {
 function navigate_to_article(self, source) {
   axios.get(api_endpoint + '/' + self.$route.params.lang + '/article/' + self.$route.params.id)
   .then(function(response){
-    self.article = Object.assign(response.data, {'dictionary': self.$route.params.lang})
+    self.article = Object.assign(response.data, {'dictionary': self.$route.params.lang, source: source, results: self.search_results})
     self.search_results = []
     self.error = null
   })
@@ -201,6 +202,11 @@ export default {
         this.waiting_for_articles = true
         navigate_to_article(this, item.source)
       }
+    },
+    details_click: function(item) {
+      this.article = Object.assign(item.article, {source: item.source})
+      this.search_results = []
+      history.replaceState({article: this.article, search_results: [], lang: this.lang, error: null}, '')
     }
   },
   mounted: function(){
@@ -289,7 +295,7 @@ div.welcome {
   padding-bottom: 10px;
 }
 
-#search_results, #spinner, #single_article_container, div.welcome, div.search_container, p.description, .error {
+#search_results, #spinner, #single_article_container, div.welcome, div.search_container, .error {
   padding-left: calc((100vw - 1000px) / 2);
   padding-right: calc((100vw - 1000px) / 2);
 }
@@ -298,14 +304,6 @@ div.welcome {
   padding-top: 40px;
 }
 
-p.description {
-  font-size: 36px;
-  color: var(--v-primary-base);
-  background-color: var(--v-tertiary-base);
-  padding-top: 40px;
-  padding-bottom: 10px;
-}
-
 div.monthly {
   padding: 20px;
   border-radius: 10px;
diff --git a/src/components/SearchResults.vue b/src/components/SearchResults.vue
index 84cc1c37f5fcd202215d9d8af640421c58052261..330c76785c727aa24d1e89e924816e08d52eb0a6 100644
--- a/src/components/SearchResults.vue
+++ b/src/components/SearchResults.vue
@@ -3,13 +3,13 @@
     <div class="flex-container" :class="$vuetify.breakpoint.name">
       <ul class="hits" v-if="results_bob.length">
         <li  class="article_container" v-for="(result, index) in results_bob" :key="index + results_hash">
-          <Article  :article="result" @article-click="article_link_click">
+          <Article  :article="result" @article-click="article_link_click"  @details-click="details_click">
           </Article>
         </li>
       </ul>
       <ul class="hits" v-if="results_nob.length">
         <li class="article_container" v-for="(result, index) in results_nob" :key="index + results_hash">
-          <Article :article="result" @article-click="article_link_click">
+          <Article :article="result" @article-click="article_link_click" @details-click="details_click">
           </Article>
         </li>
       </ul>
@@ -40,6 +40,9 @@ export default {
   methods: {
     article_link_click: function(item) {
       this.$emit('article-click', item)
+    },
+    details_click: function(item) {
+      this.$emit('details-click', Object.assign(item, {results: this.hits}))
     }
   },
   components: {