diff --git a/web/app/static/js/nopaque.lists.js b/web/app/static/js/nopaque.lists.js
index f20004a788e0a7ff464fb0cdbdb9e7e1cfd72034..013290e5eb66e09c5ac028e888f85d8e607b249d 100644
--- a/web/app/static/js/nopaque.lists.js
+++ b/web/app/static/js/nopaque.lists.js
@@ -402,6 +402,26 @@ class ResultsList extends List {
   this.addToSubResultsIdsToShow = new Set();  // If check button is pressed its corresponding data_index is saved in this set. The set is shown to the user.
   }
 
+  helperCreateCpos(cpos_ranges, cpos_values) {
+    console.log(cpos_values);
+    let lc;
+    let c;
+    let rc;
+    if (cpos_ranges) {
+      // python range like function from MDN
+      // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Sequence_generator_(range)
+      const range = (start, stop, step) => Array.from({ length: (stop - start) / step + 1}, (_, i) => start + (i * step));
+      lc = range(cpos_values.lc[0], cpos_values.lc[1], 1)
+      c = range(cpos_values.c[0], cpos_values.c[1], 1)
+      rc = range(cpos_values.rc[0], cpos_values.rc[1], 1)
+    } else {
+      lc = cpos_values.lc;
+      c = cpos_values.c;
+      rc = cpos_values.rc;
+    }
+    return {lc: lc, c: c, rc: rc};
+  }
+
   // handels interactionElements during a pagination navigation
   // loops over interactionElements and executes callback functions accordingly
   pageChangeEventInteractionHandler(interactionElements) {
@@ -564,9 +584,6 @@ class ResultsList extends List {
   // results to be able to inspect matches.
   createFakeResponse() {
     contextModal.open();
-    let lc;
-    let c;
-    let rc;
     let cpos_lookup;
     let fake_response = {};
     let contextResultsElement;
@@ -577,24 +594,8 @@ class ResultsList extends List {
     fake_response.payload["matches"] = [results.data.matches[dataIndex]];
     contextResultsElement = document.getElementById("context-results");
     contextResultsElement.innerHTML = "";
-    if (results.data.cpos_ranges) {
-      // python range like function from MDN
-      // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Sequence_generator_(range)
-      const range = (start, stop, step) => Array.from({ length: (stop - start) / step + 1}, (_, i) => start + (i * step));
-      lc = range(fake_response.payload.matches[0].lc[0],
-                 fake_response.payload.matches[0].lc[1],
-                 1);
-      c = range(fake_response.payload.matches[0].c[0],
-                fake_response.payload.matches[0].c[1],
-                1)
-      rc = range(fake_response.payload.matches[0].rc[0],
-                 fake_response.payload.matches[0].rc[1],
-                 1);
-    } else {
-      lc = fake_response.payload.matches[0].lc;
-      c = fake_response.payload.matches[0].c;
-      rc = fake_response.payload.matches[0].rc;
-    }
+    let {lc, c, rc} = this.helperCreateCpos(results.data.cpos_ranges,
+                                            fake_response.payload.matches[0]);
     cpos_lookup = {};
     for (let cpos of lc) {
       cpos_lookup[cpos] = results.data.cpos_lookup[cpos];
@@ -662,18 +663,15 @@ class ResultsList extends List {
   // has been used.
   showMatchContext(response) {
     this.contextData;
-    let c;
     let contextModalLoading;
     let contextModalReady;
     let contextResultsElement;
     let highlightSentencesSwitchElement;
     let htmlTokenStr;
-    let lc;
     let modalExpertModeSwitchElement;
     let modalTokenElements;
     let nrOfContextSentences;
     let partElement;
-    let rc;
     let token;
     let tokenHTMLArray;
     let tokenHTMlElement;
@@ -694,19 +692,8 @@ class ResultsList extends List {
     nrOfContextSentences = document.getElementById("context-sentences");
     uniqueS = new Set();
     uniqueContextS = new Set();
-    // check if cpos ranges are used or not
-    if (this.contextData.cpos_ranges == true) {
-      // python range like function from MDN
-      // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Sequence_generator_(range)
-      const range = (start, stop, step) => Array.from({ length: (stop - start) / step + 1}, (_, i) => start + (i * step));
-      lc = range(this.contextData.matches[0].lc[0], this.contextData.matches[0].lc[1], 1)
-      c = range(this.contextData.matches[0].c[0], this.contextData.matches[0].c[1], 1)
-      rc = range(this.contextData.matches[0].rc[0], this.contextData.matches[0].rc[1], 1)
-    } else {
-      lc = this.contextData.matches[0].lc;
-      c = this.contextData.matches[0].c;
-      rc = this.contextData.matches[0].rc;
-    }
+    let {lc, c, rc} = this.helperCreateCpos(this.contextData.cpos_ranges,
+                                            this.contextData.matches[0])
     // create sentence strings as tokens
     tokenHTMLArray = [];
     for (let cpos of lc) {
@@ -994,16 +981,13 @@ class ResultsList extends List {
   createResultRowElement(item, chunk, imported=false) {
     let aCellElement;
     let addToSubResultsBtn;
-    let c;
     let cCellElement;
     let cpos;
     let fakeResponse;   // used if imported results are being created;
     let inspectBtn
-    let lc;
     let lcCellElement;
     let matchNrElement;
     let matchRowElement;
-    let rc;
     let rcCellElement;
     let textTitles;
     let textTitlesCellElement;
@@ -1011,18 +995,20 @@ class ResultsList extends List {
     let values;
     // gather values from item
     values = item.values();
-    if (chunk.cpos_ranges == true) {
-      // python range like function from MDN
-      // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Sequence_generator_(range)
-      const range = (start, stop, step) => Array.from({ length: (stop - start) / step + 1}, (_, i) => start + (i * step));
-      lc = range(values.lc[0], values.lc[1], 1)
-      c = range(values.c[0], values.c[1], 1)
-      rc = range(values.rc[0], values.rc[1], 1)
-    } else {
-      lc = values.lc;
-      c = values.c;
-      rc = values.rc;
-    }
+    let {lc, c, rc} = this.helperCreateCpos(chunk.cpos_ranges,
+                                            values)
+    // if (chunk.cpos_ranges == true) {
+    //   // python range like function from MDN
+    //   // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Sequence_generator_(range)
+    //   const range = (start, stop, step) => Array.from({ length: (stop - start) / step + 1}, (_, i) => start + (i * step));
+    //   lc = range(values.lc[0], values.lc[1], 1)
+    //   c = range(values.c[0], values.c[1], 1)
+    //   rc = range(values.rc[0], values.rc[1], 1)
+    // } else {
+    //   lc = values.lc;
+    //   c = values.c;
+    //   rc = values.rc;
+    // }
     // get infos for full match row
     matchRowElement = document.createElement("tr");
     matchRowElement.setAttribute("data-index", values.index)