diff --git a/templates/api-communication.html.ep b/templates/api-communication.html.ep
index 341a2da..30034af 100644
--- a/templates/api-communication.html.ep
+++ b/templates/api-communication.html.ep
@@ -1,11 +1,11 @@
 % use JSON::XS;
 
-% if (stash('test_port') && stash('search.apirequest')) {
+% if (stash('test_port') && search->api_request) {
 <pre class="query api" onclick="this.classList.toggle('active')">
   <span>API Response for </span>
-  <span style="font-size: 70%"><%= stash('search.apirequest') %></span>
+  <span style="font-size: 70%"><%= search->api_request %></span>
   <code>
-<%= stash('search.apiresponse') =%>
+%= search->api_response
   </code>
 </pre>
 %= javascript begin
diff --git a/templates/collections.html.ep b/templates/collections.html.ep
index 465b71e..0102536 100644
--- a/templates/collections.html.ep
+++ b/templates/collections.html.ep
@@ -1,6 +1,6 @@
 <h2>Virtual Collections</h2>
 <ul>
-% foreach my $vc (@{resource_info('collection')}) {
+% foreach my $vc (@{stash('search.resource') // []}) {
   <li class="active" title="<%= $vc->{description} // '' %>"><h3><%= $vc->{name} %></h3>
 % my $stats = $vc->{statistics};
     <dl class="info">
diff --git a/templates/match.html.ep b/templates/match.html.ep
index e6e6866..adf5a0e 100644
--- a/templates/match.html.ep
+++ b/templates/match.html.ep
@@ -10,7 +10,7 @@
   <div>
     <div class="snippet"><%== $match->{snippet} %></div>
     <div class="tokenInfo"></div>
-    <div class="treeInfo"></div>
+%#    <div class="treeInfo"></div>
   </div>
 %#
 %# -- Reference string
@@ -31,7 +31,7 @@
     <li class="open" title="Open in new tab"><a href="#<%= $match->{corpusID} %>-<%= $match->{docID} %>-<%= $match->{ID} %>" target="_blank"><i class="fa fa-external-link-square"></i></a></li>
 % };
     <li onclick="showTable(this)" title="Annotations"><i class="fa fa-info-circle"></i></li>
-    <li onclick="showTree(this, 'xip', 'c')" title="Tree Visualizations"><i class="fa fa-sitemap"></i></li>
+%#    <li onclick="showTree(this, 'xip', 'c')" title="Tree Visualizations"><i class="fa fa-sitemap"></i></li>
 %#    <li title="Remember"><i class="fa fa-star-o"></i></li>
   </ul>
 </li>
diff --git a/templates/query.html.ep b/templates/query.html.ep
index 9c077b8..8f58838 100644
--- a/templates/query.html.ep
+++ b/templates/query.html.ep
@@ -1,7 +1,7 @@
 % use JSON::XS;
 % use Mojo::JSON;
 
-% if (stash('search.query') && stash('test_port')) {
+% if (search->query_jsonld && stash('test_port')) {
 %   my $action;
 %   if (param('action') && param('action') eq 'inspect') {
 %     $action = ' active" style="cursor: default';
@@ -11,7 +11,7 @@
   <span>JSON-LD Serialization for <%= param 'q' %> (<%= param 'ql' %>)</span>
   <code>
 %# Workaround to keep true, false, and null intact
-%= $json->encode($json->decode(Mojo::JSON::encode_json(stash('search.query'))))
+%= $json->encode($json->decode(Mojo::JSON::encode_json(search->query_jsonld)))
   </code>
 </pre>
 %= javascript begin
diff --git a/templates/search.html.ep b/templates/search.html.ep
index 2bf4f80..ee24e79 100644
--- a/templates/search.html.ep
+++ b/templates/search.html.ep
@@ -3,28 +3,27 @@
 %     unless (param 'snippet') {
 <div style="clear: both">
 %       my $url = url_with->query(['p' => '{page}']);
-%       my $pages;
-%       $pages = stash('search.totalResults') == -1 ? -1 : (stash('search.totalResults') / (stash('search.itemsPerPage') || 1));
-  <div id="pagination"><%= pagination(stash('search.startPage'), $pages, $url) =%></div>
+%       my $pages = search->total_pages;
+  <div id="pagination"><%= pagination(search->start_page, $pages, $url) =%></div>
   <p class="found">Found
-% my $found = stash('search.totalResults');
+% my $found = search->total_results;
 % if ($found == -1) {
 %   $found = 'unknown amount of';
-% } elsif (stash('search.timeExceeded')) {
+% } elsif (search->timeExceeded) {
 %   $found = 'more than ' . $found;
 % }; 
     <span id="total-results"><%= $found %> matches</span>
-    <% if (stash 'search.benchmark') { %> in <%= stash 'search.benchmark' %><% } %>
+    <% if (search->benchmark) { %> in <%= search->benchmark %><% } %>
   </p>
 </div>
 %= include 'query'
 %= include 'api-communication'
 %     };
 
-% if (stash('search.totalResults') != 0 && scalar @{stash('search.hits')}) {
+% if (search->total_results != 0 && search->results->size) {
 <div id="search">
 <ol class="align-left">
-%=    search_hits begin
+%=    search_results begin
 %=      include 'match', match => $_
 %     end
 </ol>
