diff --git a/xos/core/static/xos.css b/xos/core/static/xos.css
index 14702d9..7103896 100644
--- a/xos/core/static/xos.css
+++ b/xos/core/static/xos.css
@@ -192,6 +192,7 @@
 
 .footer{
   z-index: 1001;
+  position: fixed;
 }
 
 /* FIXME */
diff --git a/xos/core/xoslib/ngXosViews/ceilometerDashboard/bower.json b/xos/core/xoslib/ngXosViews/ceilometerDashboard/bower.json
index 5d64575..22da52a 100644
--- a/xos/core/xoslib/ngXosViews/ceilometerDashboard/bower.json
+++ b/xos/core/xoslib/ngXosViews/ceilometerDashboard/bower.json
@@ -15,8 +15,7 @@
     "tests"
   ],
   "dependencies": {
-    "angular-charts": "teone/angular-charts#~0.2.7",
-    "n3-line-chart": "~1.1.12"
+    "angular-chart.js": "~0.8.7"
   },
   "devDependencies": {
     "jquery": "~2.1.4",
diff --git a/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/css/ceilometerDashboard.css b/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/css/ceilometerDashboard.css
index 0868702..56ae00f 100644
--- a/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/css/ceilometerDashboard.css
+++ b/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/css/ceilometerDashboard.css
@@ -1,67 +1,123 @@
-.chart {
-  width: 100%;
-  height: 500px;
-}
-.loader {
-  font-size: 10px;
-  margin: 50px auto;
-  text-indent: -9999em;
-  width: 11em;
-  height: 11em;
-  border-radius: 50%;
-  background: #ffffff;
-  background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
-  background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
-  background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
-  background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
-  background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
-  position: relative;
-  -webkit-animation: load3 1.4s infinite linear;
-  animation: load3 1.4s infinite linear;
-  -webkit-transform: translateZ(0);
-  -ms-transform: translateZ(0);
-  transform: translateZ(0);
-}
-.loader:before {
-  width: 50%;
-  height: 50%;
-  background: #105E9E;
-  border-radius: 100% 0 0 0;
-  position: absolute;
-  top: 0;
-  left: 0;
-  content: '';
-}
-.loader:after {
-  background: #fff;
-  width: 75%;
-  height: 75%;
-  border-radius: 50%;
-  content: '';
-  margin: auto;
-  position: absolute;
-  top: 0;
-  left: 0;
-  bottom: 0;
-  right: 0;
-}
-@-webkit-keyframes load3 {
-  0% {
-    -webkit-transform: rotate(0deg);
-    transform: rotate(0deg);
+/*ceilometer-dashboard{*/
+
+  /* Panel Layout */
+  .panel {
+    margin-top: 10px;
   }
-  100% {
-    -webkit-transform: rotate(360deg);
-    transform: rotate(360deg);
+
+  .panel-body:not(:first-child) {
+    border-top: 1px solid #e3e3e3;
   }
-}
-@keyframes load3 {
-  0% {
-    -webkit-transform: rotate(0deg);
-    transform: rotate(0deg);
+
+  .panel-body .row {
+    margin-top: 10px;
   }
-  100% {
-    -webkit-transform: rotate(360deg);
-    transform: rotate(360deg);
+
+  /* Chart details */
+  .chart {
+    width: 100%;
+    height: 300px;
   }
-}
+
+  /* Loader */
+  .loader {
+    font-size: 10px;
+    margin: 50px auto;
+    text-indent: -9999em;
+    width: 11em;
+    height: 11em;
+    border-radius: 50%;
+    background: #ffffff;
+    background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
+    background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
+    background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
+    background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
+    background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
+    position: relative;
+    -webkit-animation: load3 1.4s infinite linear;
+    animation: load3 1.4s infinite linear;
+    -webkit-transform: translateZ(0);
+    -ms-transform: translateZ(0);
+    transform: translateZ(0);
+  }
+  .loader:before {
+    width: 50%;
+    height: 50%;
+    background: #105E9E;
+    border-radius: 100% 0 0 0;
+    position: absolute;
+    top: 0;
+    left: 0;
+    content: '';
+  }
+  .loader:after {
+    background: #fff;
+    width: 75%;
+    height: 75%;
+    border-radius: 50%;
+    content: '';
+    margin: auto;
+    position: absolute;
+    top: 0;
+    left: 0;
+    bottom: 0;
+    right: 0;
+  }
+  @-webkit-keyframes load3 {
+    0% {
+      -webkit-transform: rotate(0deg);
+      transform: rotate(0deg);
+    }
+    100% {
+      -webkit-transform: rotate(360deg);
+      transform: rotate(360deg);
+    }
+  }
+  @keyframes load3 {
+    0% {
+      -webkit-transform: rotate(0deg);
+      transform: rotate(0deg);
+    }
+    100% {
+      -webkit-transform: rotate(360deg);
+      transform: rotate(360deg);
+    }
+  }
+
+  /* Split.js */
+
+  html, body {
+    height: 100%;
+  }
+
+  body {
+    box-sizing: border-box;
+  }
+
+  .split {
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+            box-sizing: border-box;
+    overflow-y: auto;
+    overflow-x: hidden;
+  }
+  .gutter {
+    background-color: transparent;
+    background-repeat: no-repeat;
+    background-position: 50%;
+  }
+  .gutter.gutter-horizontal {
+    cursor: col-resize;
+    background-image: url('grips/vertical.png');
+  }
+  .gutter.gutter-vertical {
+    cursor: row-resize;
+    background-image: url('grips/horizontal.png');
+  }
+  .split.split-horizontal, .gutter.gutter-horizontal {
+    height: 100%;
+    float: left;
+  }
+
+
+/*}
\ No newline at end of file
diff --git a/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/css/grips/vertical.png b/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/css/grips/vertical.png
new file mode 100644
index 0000000..0ac8fa1
--- /dev/null
+++ b/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/css/grips/vertical.png
Binary files differ
diff --git a/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/index.html b/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/index.html
index a3d4845..adaa2ee 100644
--- a/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/index.html
+++ b/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/index.html
@@ -2,6 +2,7 @@
 <meta name="viewport" content="width=device-width, initial-scale=1, max-scale=1">
 <!-- browserSync -->
 <!-- bower:css -->
+<link rel="stylesheet" href="vendor/angular-chart.js/dist/angular-chart.css" />
 <link rel="stylesheet" href="vendor/bootstrap-css/css/bootstrap.min.css" />
 <!-- endbower --><!-- endcss -->
 <!-- inject:css -->
@@ -15,11 +16,10 @@
 </div>
 
 <!-- bower:js -->
-<script src="vendor/d3/d3.js"></script>
+<script src="vendor/Split.js/split.js"></script>
 <script src="vendor/angular/angular.js"></script>
-<script src="vendor/angular-charts/dist/angular-charts.js"></script>
-<script src="vendor/moment/moment.js"></script>
-<script src="vendor/n3-line-chart/build/line-chart.min.js"></script>
+<script src="vendor/Chart.js/Chart.js"></script>
+<script src="vendor/angular-chart.js/dist/angular-chart.js"></script>
 <script src="vendor/jquery/dist/jquery.js"></script>
 <script src="vendor/angular-mocks/angular-mocks.js"></script>
 <script src="vendor/angular-ui-router/release/angular-ui-router.js"></script>
diff --git a/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/js/main.js b/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/js/main.js
index c0180fa..0dfa92b 100644
--- a/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/js/main.js
+++ b/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/js/main.js
@@ -6,7 +6,8 @@
   'ngLodash',
   'ui.router',
   'xos.helpers',
-  'angularCharts'
+  // 'angularCharts',
+  'chart.js'
 ])
 .config(($stateProvider) => {
   $stateProvider
@@ -17,6 +18,16 @@
   .state('samples', {
     url: '/:name/:tenant/samples',
     template: '<ceilometer-samples></ceilometer-samples>'
+  })
+  .state('split', {
+    url: '/split',
+    controller: () => {
+      console.log('split', Split);
+      Split(['#one', '#two', '#three'], {
+        
+      });
+    },
+    templateUrl: 'templates/split.html'
   });
 })
 .config(function($httpProvider){
@@ -120,14 +131,30 @@
         return lodash.sortBy(formatted, 'timestamp');
       }
 
+      this.getLabels = (data) => {
+        return data.reduce((list, item) => {
+          let date = new Date(item.timestamp);
+          list.push(`${date.getHours()}:${(date.getMinutes()<10?'0':'') + date.getMinutes()}:${date.getSeconds()}`);
+          return list;
+        }, []);
+      };
+
+      this.getData = (data) => {
+        return data.reduce((list, item) => {
+          list.push(item.volume);
+          return list;
+        }, []);
+      }
+
       this.showSamples = () => {
         this.loader = true;
         Ceilometer.getSamples(this.name, this.tenant)
         .then(res => {
-          console.log(res.length, lodash.groupBy(res, 'timestamp'));
-          this.sampleChartData = {
-            series: [$stateParams.name],
-            data: this.formatSamplesData(res)
+          res = lodash.sortBy(res, 'timestamp');
+          this.chart = {
+            series: [this.name],
+            labels: this.getLabels(res),
+            data: [this.getData(res)]
           }
         })
         .catch(err => {
@@ -139,19 +166,6 @@
       };
 
       this.showSamples();
-
-      this.sampleChartConfig = {
-        title: false,
-        tooltips: true,
-        labels: false,
-        legend: {
-          display: false,
-          //could be 'left, right'
-          position: 'right'
-        },
-        lineLegend: 'traditional',
-        waitForHeightAndWidth: true
-      }
     }
   }
 });
\ No newline at end of file
diff --git a/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/templates/ceilometer-dashboard.tpl.html b/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/templates/ceilometer-dashboard.tpl.html
index 67a5284..3eee429 100644
--- a/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/templates/ceilometer-dashboard.tpl.html
+++ b/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/templates/ceilometer-dashboard.tpl.html
@@ -11,11 +11,15 @@
 </div>
 
 <section ng-hide="vm.loader">
-
+  <div class="row">
+    <div class="col-xs-12">
+      <h2>Projects</h2>
+    </div>
+  </div>
   <div class="well" ng-repeat="(project, resources) in vm.projects">
     <div class="row">
       <div class="col-xs-11">
-        {{project}}
+        <h3>{{project}}</h3>
       </div>
       <div class="col-xs-1">
         <a ng-click="expandProject = !expandProject" class="btn btn-primary">
@@ -23,70 +27,57 @@
         </a>
       </div>
     </div>
-
-    <div class="panel panel-default" ng-show="expandProject">
-<!--       <div class="panel-body">
-        <div class="col-xs-3"><b>
-          Resource
-        </b></div>
-        <div class="col-xs-3"><b>
-          Name
-        </b></div>
-        <div class="col-xs-3"><b>
-          Unit
-        </b></div>
-        <div class="col-xs-3"><b>
-          Actions
-        </b></div>
-      </div>
-      <div class="panel-body">
-        <div class="col-xs-3">
-          <input class="form-control" ng-model="vm.query.resource_id" type="text"/>
+    
+    <div class="row">
+      <div class="panel panel-default" ng-show="expandProject">
+        <div class="panel-heading">
+          <h4>Resources</h4>
         </div>
-        <div class="col-xs-3">
-          <input class="form-control" ng-model="vm.query.name" type="text"/>
-        </div>
-        <div class="col-xs-3">
-          <input class="form-control" ng-model="vm.query.unit" type="text"/>
-        </div>
-      </div> -->
-      <div class="panel-body" ng-repeat="(resource, meters) in resources">
-        <div class="row">
-          <div class="col-xs-11">
-            <b>{{resource}}</b>
+        <div class="panel-body" ng-repeat="(resource, meters) in resources">
+          <div class="row">
+            <div class="col-xs-11">
+              <b>{{resource}}</b>
+            </div>
+            <div class="col-xs-1">
+              <a ng-click="expandResource = !expandResource" class="btn btn-primary">
+                <i class="glyphicon glyphicon-plus"></i>
+              </a>
+            </div>
           </div>
-          <div class="col-xs-1">
-            <a ng-click="expandResource = !expandResource" class="btn btn-primary">
-              <i class="glyphicon glyphicon-plus"></i>
-            </a>
+          <div class="row" ng-show="expandResource">
+            <div class="col-xs-4">
+              <b>Meter:</b>
+            </div>
+            <div class="col-xs-4">
+              <b>Unit:</b>
+            </div>
+            <div class="col-xs-4">
+              <b>Actions:</b>
+            </div>
           </div>
-        </div>
-        <div class="row" ng-repeat="meter in meters" ng-show="expandResource">
-          <div class="col-xs-3">
-            {{meter.resource_id}}
-          </div>
-          <div class="col-xs-3">
-            {{meter.name}}
-          </div>
-          <div class="col-xs-3">
-            {{meter.unit}}
-          </div>
-          <div class="col-xs-3">
-            <a ng-click="showMeter = !showMeter" class="btn btn-primary">
-              <i class="glyphicon glyphicon-search"></i> Details
-            </a>
-            <a ng-click="showChart = !showChart" class="btn btn-primary">
-              <i class="glyphicon glyphicon-search"></i> Samples
-            </a>
-          </div>
-          <div class="col-xs-12" ng-show="showMeter">
-            <pre>{{ meter | json }}</pre>
-          </div>
-          <div class="col-xs-12" ng-show="showChart">
-            <ceilometer-samples name="meter.name" tenant="meter.project_id" ng-if="showChart"></ceilometer-samples>
+          <div class="row" ng-repeat="meter in meters" ng-show="expandResource">
+            <div class="col-xs-4">
+              {{meter.name}}
+            </div>
+            <div class="col-xs-4">
+              {{meter.unit}}
+            </div>
+            <div class="col-xs-4">
+              <!-- <a ng-click="showMeter = !showMeter" class="btn btn-primary">
+                <i class="glyphicon glyphicon-search"></i> Details
+              </a> -->
+              <a ng-click="showChart = !showChart" class="btn btn-primary">
+                <i class="glyphicon glyphicon-search"></i> View chart
+              </a>
+            </div>
+            <!--   -->
+            <div class="col-xs-12" ng-show="showChart">
+              <ceilometer-samples name="meter.name" tenant="meter.project_id" ng-if="showChart"></ceilometer-samples>
+            </div>
           </div>
         </div>
       </div>
     </div>
+
   </div>
 </section>
\ No newline at end of file
diff --git a/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/templates/ceilometer-samples.tpl.html b/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/templates/ceilometer-samples.tpl.html
index cb4e8be..d935e27 100644
--- a/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/templates/ceilometer-samples.tpl.html
+++ b/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/templates/ceilometer-samples.tpl.html
@@ -1,14 +1,13 @@
 <div class="row">
-  <div class="col-xs-12">
-    <a ui-sref="ceilometerDashboard" class="btn btn-primary">Back</a>
-    <h1>{{vm.stateParams.name}} Samples</h1>
-  </div>
-
   <div class="col-xs-12" ng-show="vm.loader">
     <div class="loader">Loading</div>
   </div>
 
   <div class="col-xs-12" ng-if="!vm.loader">
-    <div ac-chart="'line'" ac-data="vm.sampleChartData" ac-config="vm.sampleChartConfig" class="chart"></div>
+    <!-- <div ac-chart="'line'" ac-data="vm.sampleChartData" ac-config="vm.sampleChartConfig" class="chart"></div> -->
+    <canvas id="line" class="chart chart-line" chart-data="vm.chart.data"
+      chart-labels="vm.chart.labels" chart-legend="true" chart-series="vm.chart.series">
+    </canvas> 
+    <!-- <pre> {{ vm.chart | json }} </pre> -->
   </div>
 </div>
\ No newline at end of file
diff --git a/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/templates/split.html b/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/templates/split.html
new file mode 100644
index 0000000..534d3d5
--- /dev/null
+++ b/xos/core/xoslib/ngXosViews/ceilometerDashboard/src/templates/split.html
@@ -0,0 +1,21 @@
+<div id="one" class="split split-horizontal">
+  Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ut, eos debitis repellendus corrupti vel dolores asperiores, ipsam voluptatibus nesciunt ipsum architecto harum magnam similique doloremque rerum illum. Magnam, nesciunt magni.
+  Minus nostrum dolores perspiciatis dolorum eos? Sed, ad fugiat natus amet voluptas officiis, reiciendis tempora error quia repudiandae odit nisi distinctio atque ipsam iste officia ab porro et quo magni.
+  Voluptatem ab rem necessitatibus nam voluptas quo, velit nobis id ea temporibus illum corrupti sequi, aperiam reprehenderit cum! Placeat quas quod minima expedita beatae totam numquam veritatis adipisci doloremque, sit.
+  Suscipit doloremque voluptatum maiores architecto ipsa quis, nihil provident totam, quos qui. Ipsa quibusdam sit, cumque eum provident ratione molestiae quia in ex! Rem voluptates officiis aperiam ullam dignissimos sequi.
+  Ad sed quasi et, dolorem autem perferendis dolor. Cupiditate nemo delectus minus sint mollitia accusantium odio, explicabo nihil illum ut possimus ducimus! Recusandae excepturi, est deleniti accusamus aut quasi. Sit!
+</div>
+<div id="two" class="split split-horizontal">
+  Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit accusamus laboriosam, quo, ipsa quisquam, neque alias animi esse quia, doloremque nulla nihil. Id aliquid necessitatibus atque eum, fugit sed nobis!
+  Blanditiis ab earum placeat tenetur in eos, omnis quidem accusantium voluptate corporis, labore, cum voluptatibus totam sunt mollitia et rerum sit. Voluptatem fugiat eaque dolore explicabo ex veritatis deleniti delectus.
+  Nobis aliquam blanditiis cumque nesciunt repellendus voluptate ullam, eligendi dicta voluptates tenetur molestias omnis itaque eius voluptas dignissimos inventore repellat distinctio velit ducimus ipsam placeat. Quo amet aut, doloremque incidunt.
+  Asperiores sed cupiditate animi aliquam, facilis vitae nobis deserunt ipsa fugiat, at incidunt eum delectus error inventore itaque fuga sunt aspernatur beatae saepe maxime id. Fuga consequatur hic debitis ipsum.
+  Animi dolorum ullam, dolorem ut quibusdam tempora repellendus iste veritatis doloribus nam? Minima veritatis omnis deleniti illo? Vero, perferendis ipsum, ea dicta illum non reiciendis obcaecati sunt dolorem esse hic.
+</div>
+<div id="three" class="split split-horizontal">
+  Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatem quod expedita vero voluptatibus modi, dolores assumenda ex atque aliquam accusamus, deserunt quibusdam pariatur eaque optio ducimus minima. Commodi, odit. Nulla.
+  Rerum, nostrum, officiis! Nam vel in ea ut et nemo quae quis suscipit dolores voluptatum odio, qui ratione dolor vero perspiciatis enim incidunt error harum hic ad numquam nostrum magni.
+  Minus illo vel ipsa, ullam unde itaque cum mollitia nihil! Voluptatibus quaerat ab ut quo, repudiandae qui reprehenderit eligendi maiores harum labore sit, laudantium expedita reiciendis hic nostrum beatae id!
+  Laborum magni iusto sunt commodi dolor quis voluptatibus fugiat alias, aliquid fugit nisi facere. Eaque harum laudantium sint, veniam laborum illum beatae cumque quis reprehenderit tempore, animi perferendis officiis quos.
+  Quam iusto id necessitatibus nam asperiores quod inventore itaque ullam laborum quis. Excepturi, suscipit, autem! Pariatur commodi nisi quia, sit perspiciatis necessitatibus, tempore neque nulla nemo eum aspernatur placeat voluptate!
+</div>
\ No newline at end of file
