diff --git a/src/adl/to_hugsql_queries.clj b/src/adl/to_hugsql_queries.clj
index 2387610..f45dcc2 100644
--- a/src/adl/to_hugsql_queries.clj
+++ b/src/adl/to_hugsql_queries.clj
@@ -140,7 +140,7 @@
   (let [entity-name (safe-name (:name (:attrs entity)) :sql)
         pretty-name (singularise entity-name)
         query-name (str "search-strings-" entity-name)
-        signature ":? :1"
+        signature ":? :*"
         properties (remove #(#{"link"}(:type (:attrs %))) (all-properties entity))]
     (hash-map
       (keyword query-name)
@@ -168,12 +168,12 @@
                    string?
                    (map
                      #(str
-                        "(if (:" (-> % :attrs :name) " params) \"OR "
-                        (case (base-type % application)
+                        "(if (:" (-> % :attrs :name) " params) (str \"OR "
+                        (case (-> % :attrs :type)
                           ("string" "text")
                           (str
                             (safe-name (-> % :attrs :name) :sql)
-                            " LIKE '%:" (-> % :attrs :name) "%'")
+                            " LIKE '%\" (:" (-> % :attrs :name) " params) \"%'")
                           ("date" "time" "timestamp")
                           (str
                             (safe-name (-> % :attrs :name) :sql)
@@ -181,12 +181,12 @@
                           "entity"
                           (str
                            (safe-name (-> % :attrs :name) :sql)
-                            "_expanded LIKE '%:" (-> % :attrs :name) "%'")
+                            "_expanded LIKE '%\" (:" (-> % :attrs :name) " params) \"%'")
                           (str
                             (safe-name (-> % :attrs :name) :sql)
                             " = :"
                             (-> % :attrs :name)))
-                        "\")")
+                        "\"))")
                      properties))))
                (order-by-clause entity "lv_")
                "--~ (if (:offset params) \"OFFSET :offset \")"
diff --git a/src/adl/to_selmer_routes.clj b/src/adl/to_selmer_routes.clj
index 272c007..6f7b5e7 100644
--- a/src/adl/to_selmer_routes.clj
+++ b/src/adl/to_selmer_routes.clj
@@ -140,49 +140,53 @@
 (defn make-list-handler-content
   [f e a n]
   (list
-   'let
-   (vector
-    'records
-    (list
-     'if
-     (list
-      'some
-      (set (map #(keyword (-> % :attrs :name)) (all-properties e)))
-      (list 'keys 'params))
-     (list
-      'support/do-or-log-error
+    'let
+    (vector
+      'records
       (list
-       (symbol (str "db/search-strings-" (:name (:attrs e))))
-       (symbol "db/*db*")
-       'params)
-      :message (str
-                "Error while searching "
-                (singularise (:name (:attrs e)))
-                " records")
-      :error-return {:warnings [(str
-                                 "Error while searching "
-                                 (singularise (:name (:attrs e)))
-                                 " records")]})
-     (list
-      'support/do-or-log-error
-      (list
-       (symbol
-        (str
-         "db/list-"
-         (:name (:attrs e))))
-       (symbol "db/*db*") {})
-      :message (str
-                "Error while fetching "
-                (singularise (:name (:attrs e)))
-                " records")
-      :error-return {:warnings [(str
-                                 "Error while fetching "
-                                 (singularise (:name (:attrs e)))
-                                 " records")]})))
-   (list 'if
-         (list :warnings 'records)
-         'records
-         {:records 'records})))
+        'if
+        (list
+          'some
+          (set (map #(keyword (-> % :attrs :name)) (all-properties e)))
+          (list 'keys 'params))
+        (list 'do
+              (list (symbol "log/debug") (list (symbol (str "db/search-strings-" (:name (:attrs e)) "-sqlvec")) 'params))
+              (list
+                'support/do-or-log-error
+                (list
+                  (symbol (str "db/search-strings-" (:name (:attrs e))))
+                  (symbol "db/*db*")
+                  'params)
+                :message (str
+                           "Error while searching "
+                           (singularise (:name (:attrs e)))
+                           " records")
+                :error-return {:warnings [(str
+                                            "Error while searching "
+                                            (singularise (:name (:attrs e)))
+                                            " records")]}))
+        (list 'do
+              (list (symbol "log/debug") (list (symbol (str "db/list-" (:name (:attrs e)) "-sqlvec")) 'params))
+              (list
+                'support/do-or-log-error
+                (list
+                  (symbol
+                    (str
+                      "db/list-"
+                      (:name (:attrs e))))
+                  (symbol "db/*db*") {})
+                :message (str
+                           "Error while fetching "
+                           (singularise (:name (:attrs e)))
+                           " records")
+                :error-return {:warnings [(str
+                                            "Error while fetching "
+                                            (singularise (:name (:attrs e)))
+                                            " records")]}))))
+      (list 'if
+            (list :warnings 'records)
+            'records
+            {:records 'records})))
 
 
 (defn make-handler
diff --git a/src/adl/to_selmer_templates.clj b/src/adl/to_selmer_templates.clj
index 443b3a0..76cb484 100644
--- a/src/adl/to_selmer_templates.clj
+++ b/src/adl/to_selmer_templates.clj
@@ -665,11 +665,7 @@
                      "time" "time"
                      "text")
         base-name (:property (:attrs field))
-        search-name (safe-name
-                      (if
-                        (= (:type (:attrs property)) "entity")
-                        (str base-name "_expanded") base-name)
-                      :sql)]
+        search-name (safe-name base-name :sql)]
     (hash-map
       :tag :th
       :content
@@ -728,18 +724,10 @@
     {:back-links
      {:tag :div
       :content
-      [
-        {:tag :div :attrs {:class "back-link-container"}
+      [{:tag :div :attrs {:class "back-link-container"}
          :content
-         ["{% ifequal params.offset \"0\" %}"
-          {:tag :a
-           :attrs {:id "back-link" :class "back-link" :href "{{servlet-context}}/admin"}
-           :content ["Back"]}
-          "{% else %}"
-          {:tag :a :attrs {:id "prev-selector" :class "back-link"}
-           :content ["Previous"]}
-          "{% endifunequal %}"]}
-        ]}
+         [{:tag :a :attrs {:id "prev-selector" :class "back-link"}
+           :content ["Previous"]}]}]}
      :big-links
      {:tag :div
       :content
@@ -765,8 +753,8 @@
               :method "POST"}
       :content
       [(csrf-widget)
-       {:tag :input :attrs {:id "offset" :type "hidden" :value "{{params.offset|default:0}}"}}
-       {:tag :input :attrs {:id "limit" :type "hidden" :value "{{params.limit|default:50}}"}}
+       {:tag :input :attrs {:id "offset" :name "offset" :type "hidden" :value "{{params.offset|default:0}}"}}
+       {:tag :input :attrs {:id "limit" :name "limit" :type "hidden" :value "{{params.limit|default:50}}"}}
        {:tag :table
         :attrs {:caption (:name (:attrs entity))}
         :content
@@ -779,21 +767,26 @@
           var ow = document.getElementById('offset');
           var lw = document.getElementById('limit');
           form.addEventListener('submit', function() {
-          ow.value='0';
+            ow.value='0';
           });
 
-          {% ifunequal params.offset \"0\" %}
-          document.getElementById('prev-selector').addEventListener('click', function () {
-          ow.value=(parseInt(ow.value)-parseInt(lw.value));
-          console.log('Updated offset to ' + ow.value);
-          form.submit();
-          });
-          {% endifunequal %}
+          var prevSelector = document.getElementById('prev-selector');
+          if (prevSelector != null) {
+            prevSelector.addEventListener('click', function () {
+              if (parseInt(ow.value)===0) {
+                window.location = '{{servlet-context}}/admin';
+              } else {
+                ow.value=(parseInt(ow.value)-parseInt(lw.value));
+                console.log('Updated offset to ' + ow.value);
+                form.submit();
+              }
+            });
+          }
 
           document.getElementById('next-selector').addEventListener('click', function () {
-          ow.value=(parseInt(ow.value)+parseInt(lw.value));
-          console.log('Updated offset to ' + ow.value);
-          form.submit();
+            ow.value=(parseInt(ow.value)+parseInt(lw.value));
+            console.log('Updated offset to ' + ow.value);
+            form.submit();
           });")}))