diff --git a/templates/index.html.ep b/templates/index.html.ep
index a4f6b8d..ccb5ea4 100644
--- a/templates/index.html.ep
+++ b/templates/index.html.ep
@@ -742,12 +742,15 @@
     <div id="topwrapper">
       <div style="visibility: hidden;" id="tabs">
         <ul>
-          % if($mergedEnd && $distantWords) {
-          <li><a href="#tabs-0" title="Cos offsets of the words furthest away from their position in the reference corpus."">Offsets</a></li>
+          % if (defined $word && $word ne '') {
+            % if($mergedEnd && $distantWords) {
+            <li><a href="#tabs-0" title="Cos offsets of the words furthest away from their position in the reference corpus."">Offsets</a></li>
+            % }
+            <li><a href="#tabs-1"><%= loc 'paradigmatic_tsne' %></a></li>
+            <li><a href="#tabs-2"><%= loc 'paradigmatic_som' %></a></li>
+            <li><a href="#tabs-3"><%= loc 'syntagmatic' %></a></li>
           % }
-          <li><a href="#tabs-1"><%= loc 'paradigmatic_tsne' %></a></li>
-          <li><a href="#tabs-2"><%= loc 'paradigmatic_som' %></a></li>
-          <li><a href="#tabs-3"><%= loc 'syntagmatic' %></a></li>
+          <li><a href="#tabs-4">Info</a></li>
         </ul>
         % if($mergedEnd && $distantWords) {
         <div id="tabs-0" style="display: flex;  padding: 5px; flex-flow: row wrap;">
@@ -847,10 +850,12 @@
           % }
         </div>
         <div id="tabs-2" style="display: flex;  padding: 5px; flex-flow: row wrap;">
-          <div id="som2" style="width: 800;">
-            <div id="sominfo1"><span id="somcolor1">   </span> <span id="somword1"> </span> <span id="somcolor2">   </span> <span id="somword2"> </span> <span id="somcolor3">   </span></div>
-            <div id="sominfo" style="text-align: right">SOM iteration <span id="iterations">0</span></div>
-          </div>
+          % if(defined $word && $word ne "") {
+            <div id="som2" style="width: 800;">
+             <div id="sominfo1"><span id="somcolor1">   </span> <span id="somword1"> </span> <span id="somcolor2">   </span> <span id="somword2"> </span> <span id="somcolor3">   </span></div>
+               <div id="sominfo" style="text-align: right">SOM iteration <span id="iterations">0</span></div>
+            </div>
+          % }
         </div>
         <div id="tabs-3" style="display: flex;  padding:5px; flex-flow: row wrap;">
           <div style="margin-right: 20px; margin-bottom: 10px;" id="secondt">
@@ -937,21 +942,32 @@
                <div style="float: right; overflow: hidden" id="extra"><button onClick="showCollocatorSOM()"> </button></div>
           -->
         </div>
-      </div>
+        <div id="tabs-4" style="display: flex;  padding:5px; flex-flow: row wrap;">
+          <div id="info">
+            <h3><%== loc 'about' %></h3>
+            %= include(loc('abouttext'))
+            % if($training_args && (@$lists)[0]) {
+                <h3><%= loc 'training_parameters' %></h3>
+                % if($training_args =~ /-type\s*3/) {
+                  <p>Calculations are based on a word embedding model trained with an extension of <a href="https://github.com/wlin12/wang2vec/">wang2vec</a> using the following parameters:</p>
+                  <div class="mono"><%= $training_args %></div>
+                % } else {
+                  <p>Calculations are based on a word embedding model trained with <a href="https://code.google.com/p/word2vec/">word2vec</a> using the following parameters:</p>
+                  <div class="mono"><%= $training_args %></div>
+              % }
+           % } 
+           <h3><%== loc 'references' %></h3>
+            %= include 'references'
+           </div>
+        </div>
+      </div> <!-- tabs -->
     </div> <!-- topwrapper  -->
     <div style="clear: both;"></div>
     </div>
-    % if($training_args && (@$lists)[0]) {
-      <div class="info">
-        % if($training_args =~ /-type\s*3/) {
-          Calculations are based on a word embedding model trained with an extension of <a href="https://github.com/wlin12/wang2vec/">wang2vec</a> using the following parameters: <%= $training_args %>
-        % } else {
-          Calculations are based on a word embedding model trained with <a href="https://code.google.com/p/word2vec/">word2vec</a> using the following parameters: <%= $training_args %>
-        % }
+      <div class="footer">
+        <span class="footertext">
+          %= include(loc('footer'))
+        </span>
       </div>
-    % } else {
-      <div class="info">
-      </div>
-    % }
   </body>
 </html>
