diff --git a/planetstack/core/xoslib/dashboards/xosAdminDashboard.html b/planetstack/core/xoslib/dashboards/xosAdminDashboard.html
index 78eb8e2..6d60535 100644
--- a/planetstack/core/xoslib/dashboards/xosAdminDashboard.html
+++ b/planetstack/core/xoslib/dashboards/xosAdminDashboard.html
@@ -14,6 +14,14 @@
 <script src="{{ STATIC_URL }}/js/xoslib/xosHelper.js"></script>
 <script src="{{ STATIC_URL }}/js/xosAdminSite.js"></script>
 
+<script type="text/template" id="xos-log-template">
+  <tr id="<%= logMessageId %>" class="xos-log xos-<%= statusclass %>">
+     <td><%= what %><br>
+         <%= status %> <%= statusText %>
+     </td>
+  </tr>
+</script>
+
 <div id="contentPanel">
 <div id="contentTitle">
 </div>
@@ -30,6 +38,12 @@
 <div class="box save-box" id="xos-listview-button-box">
 <button class="btn btn-high btn-success btn-xos-contentButtonPanel" onclick="$('button.btn-xos-add').click()">Add</button>
 </div>
+<div class="box" id="logPanel">
+<table id="logTable">
+<tbody>
+</tbody>
+</table> <!-- end logTable -->
+</div> <!-- end logPanel -->
 </div> <!-- end contentButtonPanel -->
 <div id="contentInner">
 <div id="tabs">
@@ -42,15 +56,4 @@
 </div> <!-- end contentInner -->
 </div> <!-- end contentPanel -->
 
-<div id="logPanel">
-<table id="logTable">
-<thead>
-<tr><th>status</th><th>operation</th><th>code</th><th>message</th></tr>
-</thead>
-<tbody>
-</tbody>
-</table>
-
-</div>
-
 {% include 'xosAdmin.html' %}
diff --git a/planetstack/core/xoslib/dashboards/xosAdminWholePage.html b/planetstack/core/xoslib/dashboards/xosAdminWholePage.html
index da9f364..0bc9924 100644
--- a/planetstack/core/xoslib/dashboards/xosAdminWholePage.html
+++ b/planetstack/core/xoslib/dashboards/xosAdminWholePage.html
@@ -14,6 +14,14 @@
 <script src="{{ STATIC_URL }}/js/xoslib/xosHelper.js"></script>
 <script src="{{ STATIC_URL }}/js/xosAdminSite.js"></script>
 
+<script type="text/template" id="xos-log-template">
+  <tr id="<%= logMessageId %>" class="xos-log xos-<%= statusclass %>">
+     <td><%= what %></td>
+     <td><%= status %></td>
+     <td><%= statusText %></td>
+  </tr>
+</script>
+
 <div id="headerPanel">
 {% include 'xosAdminHeader.html' %}
 </div>
diff --git a/planetstack/core/xoslib/static/css/xosAdminDashboard.css b/planetstack/core/xoslib/static/css/xosAdminDashboard.css
index ff54fee..f4e8191 100644
--- a/planetstack/core/xoslib/static/css/xosAdminDashboard.css
+++ b/planetstack/core/xoslib/static/css/xosAdminDashboard.css
@@ -10,8 +10,16 @@
     display: none;
 }
 
-#logPanel {
-    display: none;
+#logTable {
+    width: 100%;
+}
+
+#logTable tr {
+  border-bottom: 1px solid;
+}
+
+#logTable tr:last-child {
+  border-bottom: none;
 }
 
 #contentButtonPanel {
diff --git a/planetstack/core/xoslib/static/css/xosAdminSite.css b/planetstack/core/xoslib/static/css/xosAdminSite.css
index 5ecaa8e..d1b4275 100644
--- a/planetstack/core/xoslib/static/css/xosAdminSite.css
+++ b/planetstack/core/xoslib/static/css/xosAdminSite.css
@@ -6,8 +6,17 @@
     color:blue;
     text-decoration:underline;
 }
-#logTable td, th {
-    border: 1px solid black;
+
+.xos-log.xos-success {
+    background-color: #00ff00;
+}
+
+.xos-log.xos-inprog {
+    background-color: #ffff00;
+}
+
+.xos-log.xos-failure {
+    background-color: #ff0000;
 }
 
 .btn-xosnav {
@@ -82,3 +91,4 @@
     display: none;
 }
 
+
diff --git a/planetstack/core/xoslib/static/js/xosAdminSite.js b/planetstack/core/xoslib/static/js/xosAdminSite.js
index 212c1b4..b5d0f6c 100644
--- a/planetstack/core/xoslib/static/js/xosAdminSite.js
+++ b/planetstack/core/xoslib/static/js/xosAdminSite.js
@@ -56,10 +56,12 @@
          collection_name = name + "s";
          region_name = name + "List";
          detailNavLink = collection_name;
+         listNavLink = collection_name;
 
          detailClass = XOSDetailView.extend({
             template: detail_template,
             app: XOSAdminApp,
+            listNavLink: listNavLink,
          });
          XOSAdminApp[collection_name + "DetailView"] = detailClass;
 
diff --git a/planetstack/core/xoslib/static/js/xoslib/xosHelper.js b/planetstack/core/xoslib/static/js/xoslib/xosHelper.js
index b8e0347..89d0d3b 100644
--- a/planetstack/core/xoslib/static/js/xoslib/xosHelper.js
+++ b/planetstack/core/xoslib/static/js/xoslib/xosHelper.js
@@ -37,7 +37,7 @@
     },
 
     showSuccess: function(result) {
-         result["success"] = "success";
+         result["statusclass"] = "success";
          if (this.logTableId) {
              this.appendLogWindow(result);
          } else {
@@ -51,7 +51,7 @@
     },
 
     showError: function(result) {
-         result["success"] = "failure";
+         result["statusclass"] = "failure";
          if (this.logTableId) {
              this.appendLogWindow(result);
          } else {
@@ -65,7 +65,7 @@
     },
 
     showInformational: function(result) {
-         result["success"] = "information";
+         result["statusclass"] = "inprog";
          if (this.logTableId) {
              return this.appendLogWindow(result);
          } else {
@@ -203,6 +203,8 @@
                 console.log("saveLeave");
                 e.preventDefault();
                 this.save();
+                this.app.Router.navigate(this.listNavLink, {trigger: true});
+                console.log("route to " + this.listNavLink);
             },
 
             submitAddAnotherClicked: function(e) {
diff --git a/planetstack/core/xoslib/templates/xosAdmin.html b/planetstack/core/xoslib/templates/xosAdmin.html
index ee974f6..d543502 100644
--- a/planetstack/core/xoslib/templates/xosAdmin.html
+++ b/planetstack/core/xoslib/templates/xosAdmin.html
@@ -22,17 +22,8 @@
   <button class="btn btn-default btn-xosnav" onclick="<%= router %>.navigate('<%= routeUrl %>', {trigger: true})"><%= name %></button><br>
 </script>
 
-<script type="text/template" id="xos-log-template">
-  <tr id="<%= logMessageId %>">
-     <td><%= success %></td>
-     <td><%= what %></td>
-     <td><%= status %></td>
-     <td><%= statusText %></td>
-  </tr>
-</script>
-
 <script type="text/template" id="xos-status-template">
-  <%= what %>: [<%= success %>] <%= statusText %> (<%= status %>)
+  <div class="xos-status xos-<%= statusclass %>"><%= what %>: <%= statusText %> (<%= status %>)</div>
 </script>
 
 <script type="text/template" id="xos-tabs-template">
