diff --git a/app/server-health/controllers/log-controller.html b/app/server-health/controllers/log-controller.html
index 59edc72..a5dc5a7 100644
--- a/app/server-health/controllers/log-controller.html
+++ b/app/server-health/controllers/log-controller.html
@@ -68,4 +68,4 @@
         </log-event>
     </section>
     <dir-pagination-controls template-url="common/directives/dirPagination.tpl.html"></dir-pagination-controls> 
-</div> <!-- end event log -->
+</div> <!-- end event log -->
\ No newline at end of file
diff --git a/app/server-health/controllers/sensors-overview-controller.html b/app/server-health/controllers/sensors-overview-controller.html
index fc80405..58028ee 100644
--- a/app/server-health/controllers/sensors-overview-controller.html
+++ b/app/server-health/controllers/sensors-overview-controller.html
@@ -1,44 +1,107 @@
 <div id="sensors-overview">
-    <div class="row column">
-        <h1>Sensors</h1>
-    </div>
-    <section class="row column">
-        <div class="page-header">
-            <h2 class="inline h4">Sensors present in the system</h2>
-            <a ng-href="data:text/json;charset=utf-8,{{export_data}}" class="inline btn-export float-right"  download="{{export_name}}" ng-show="filteredSensorData.length">Export</a>
-        </div>
-    </section>
+	<div class="row column">
+		<h1>Sensors</h1>
+	</div>
+	<section class="row column">
+		<div class="page-header">
+			<h2 class="inline h4">All sensors present in the system</h2>
+			<a ng-href="data:text/json;charset=utf-8,{{export_data}}" class="inline btn-export float-right" download="{{export_name}}">Export</a>
+		</div>
+	</section>
+	<section class="row column">
+		<!-- search -->
+		<p class="content-label" aria-label="sensors filter">Filter sensors</p>
+		<div class="content__search">
+			<label for="content__search-input">Sensors Search</label>
+			<input id="content__search-input" type="text" ng-model="customSearch" ng-keydown="doSearchOnEnter($event)"/>
+			<input id="content__search-submit" type="submit" class="btn btn-primary" value="Filter" ng-click="doSearchOnClick()"/>
+		</div>
+		<div class="toggle-filter">
+			<p class="content-label">FILTER BY SEVERITY</p>
+			<button class="inline first btn-primary" ng-click="toggleSeverityAll()"
+					ng-class="selectedSeverity.all ? 'btn-primary' : 'btn-secondary'">All
+			</button>
+			<button class="inline " ng-click="toggleSeverity('critical')"
+					ng-class="selectedSeverity.critical ? 'btn-primary' : 'btn-secondary'">Critical
+			</button>
+			<button class="inline" ng-click="toggleSeverity('warning')"
+					ng-class="selectedSeverity.warning ? 'btn-primary' : 'btn-secondary'">Warning
+			</button>
+		</div>
 
-    <section class="row column">
-        <!-- search -->
-        <div class="content__search">
-            <label for="content__search-input">Sensors Search</label>
-            <input id="content__search-input" type="text" placeholder="Filter issues" ng-model="customSearch" ng-keydown="doSearchOnEnter($event)"/>
-            <input id="content__search-submit" type="submit" class="btn btn-primary" value="Filter" ng-click="doSearchOnClick()"/>
-        </div>
-        <div class="toggle-filter">
-            <button class="inline first btn-primary" ng-click="toggleSeverityAll()"
-                    ng-class="selectedSeverity.all ? 'btn-primary' : 'btn-secondary'">All
-            </button>
-            <button class="inline " ng-click="toggleSeverity('critical')"
-                    ng-class="selectedSeverity.critical ? 'btn-primary' : 'btn-secondary'">Critical
-            </button>
-            <button class="inline" ng-click="toggleSeverity('warning')"
-                    ng-class="selectedSeverity.warning ? 'btn-primary' : 'btn-secondary'">Warning
-            </button>
-        </div>
+	</section> <!-- end search -->
 
-    </section> <!-- end search -->
+	<section id="sensor-categories" class="row column">
+		<div class="row column header-row">
+			<div class="column large-12 header__actions-bar">
+				<p class="inline sensor__title">Sensors</p>
+				<p class="inline sensor__reading">Low critical</p>
+				<p class="inline sensor__reading">Low warning</p>
+				<p class="inline sensor__reading sensor__heading-current">Current</p>
+				<p class="inline sensor__reading">High warning</p>
+				<p class="inline sensor__reading">High critical</p>
+			</div>
+		</div>
+		<!-- sensor -->
+<<<<<<< HEAD
+		<div class="sensor__readings-row" ng-repeat="sensor in (filteredSensorData = data|filter:filterBySeverity|filter:filterBySearchTerms|orderBy:'-order')">
+			<p class="inline sensor__title"><span class="icon" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="sensor.status" ></span>{{sensor.title}}</p>
+			<p class="inline sensor__reading"><span class="sensor__label">Low critical</span>{{sensor.CriticalLow}}<span class="content-label">{{sensor.unit}}<span ng-if="sensor.unit == 'C'">&deg;</span></p>
+			<p class="inline sensor__reading"><span class="sensor__label">Low warning</span>{{sensor.WarningLow}}<span class="content-label">{{sensor.unit}}<span ng-if="sensor.unit == 'C'">&deg;</span></p>
+			<p class="inline sensor__reading sensor__current" ng-class="{'sensor__critical': sensor.status == 'critical', 'sensor__warn': sensor.status == 'warning', 'sensor__normal': sensor.status == 'normal'}"><span class="sensor__label">Current</span>{{sensor.Value}}<span class="content-label">{{sensor.unit}}<span ng-if="sensor.unit == 'C'">&deg;</span></span></p>
+			<p class="inline sensor__reading"><span class="sensor__label">High warning</span>{{sensor.WarningHigh}}<span class="content-label">{{sensor.unit}}<span ng-if="sensor.unit == 'C'">&deg;</span></p>
+			<p class="inline sensor__reading"><span class="sensor__label">High critical</span>{{sensor.CriticalHigh}}<span class="content-label">{{sensor.unit}}<span ng-if="sensor.unit == 'C'">&deg;</span></p>
+		</div>
+=======
+		<div class="sensor__readings-row" >
+			<p class="inline sensor__title"><span class="icon icon__critical" aria-label="critical"></span>Temperature 5</p>
+			<p class="inline sensor__reading"><span class="sensor__label">Low critical</span>32<span class="content-label">C&deg;</span></p>
+			<p class="inline sensor__reading"><span class="sensor__label">Low warning</span>45<span class="content-label">C&deg;</span></p>
+			<p class="inline sensor__reading sensor__current sensor__critical "><span class="sensor__label">Current</span>124<span class="content-label">C&deg;</span></p>
+			<p class="inline sensor__reading"><span class="sensor__label">High warning</span>105<span class="content-label">C&deg;</span></p>
+			<p class="inline sensor__reading"><span class="sensor__label">High critical</span>120<span class="content-label">C&deg;</span></p>
+		</div>
+		<!-- sensor -->
+		<div class="sensor__readings-row" >
+			<p class="inline sensor__title"><span class="icon icon__critical" aria-label="critical"></span>Fan 3</p>
+			<p class="inline sensor__reading"><span class="sensor__label">Low critical</span>100<span class="content-label">rpm</span></p>
+			<p class="inline sensor__reading"><span class="sensor__label">Low warning</span>400<span class="content-label">rpm</span></p>
+			<p class="inline sensor__reading sensor__current sensor__critical"><span class="sensor__label">Current</span>90<span class="content-label">rpm</span></p>
+			<p class="inline sensor__reading"><span class="sensor__label">High warning</span>2000<span class="content-label">rpm</span></p>
+			<p class="inline sensor__reading"><span class="sensor__label">High critical</span>2500<span class="content-label">rpm</span></p>
+		</div>
+		<!-- sensor -->
+		<div class="sensor__readings-row" >
+			<p class="inline sensor__title"><span class="icon icon__warning" aria-label="warning"></span>Fan 5</p>
+			<p class="inline sensor__reading"><span class="sensor__label">Low critical</span>100<span class="content-label">rpm</span></p>
+			<p class="inline sensor__reading"><span class="sensor__label">Low warning</span>400<span class="content-label">rpm</span></p>
+			<p class="inline sensor__reading sensor__current sensor__warn"><span class="sensor__label">Current</span>90<span class="content-label">rpm</span></p>
+			<p class="inline sensor__reading"><span class="sensor__label">High warning</span>2000<span class="content-label">rpm</span></p>
+			<p class="inline sensor__reading"><span class="sensor__label">High critical</span>2500<span class="content-label">rpm</span></p>
+		</div>
+		<!-- sensor -->
+		<div class="sensor__readings-row" >
+			<p class="inline sensor__title">Temperature 1</p>
+			<p class="inline sensor__reading"><span class="sensor__label">Low critical</span>100<span class="content-label">rpm</span></p>
+			<p class="inline sensor__reading"><span class="sensor__label">Low warning</span>400<span class="content-label">rpm</span></p>
+			<p class="inline sensor__reading sensor__current"><span class="sensor__label">Current</span>130<span class="content-label">rpm</span></p>
+			<p class="inline sensor__reading"><span class="sensor__label">High warning</span>2000<span class="content-label">rpm</span></p>
+			<p class="inline sensor__reading"><span class="sensor__label">High critical</span>2500<span class="content-label">rpm</span></p>
+		</div>
+		<!-- sensor -->
+		<div class="sensor__readings-row" >
+			<p class="inline sensor__title">Altitude</p>
+			<p class="inline sensor__reading"><span class="sensor__label">Low critical</span>--</p>
+			<p class="inline sensor__reading"><span class="sensor__label">Low warning</span>--</p>
+			<p class="inline sensor__reading sensor__current"><span class="sensor__label">Current</span>300<span class="content-label">M</span></p>
+			<p class="inline sensor__reading"><span class="sensor__label">High warning</span>--</p>
+			<p class="inline sensor__reading"><span class="sensor__label">High critical</span>--</p>
+		</div>
+		<!--<a ng-repeat="sensor in (filteredSensorData = data.sensors|filter:filterBySeverity|filter:filterBySearchTerms)" class="sensor__group" href="#/server-health/sensors/{{sensor.type}}">-->
+			<!--<span class="inline priority-tag-circ" ng-class="{'high-priority': sensor.status == 'critical', 'medium-priority': sensor.status == 'warning', 'low-priority': sensor.status == 'normal'}" aria-label="High Priority"></span>{{sensor.title}} ({{sensor.data.length}})-->
+			<!--<p class="inline float-right" ng-class="{'sensor__critical-label': sensor.status == 'critical', 'sensor__warning-label': sensor.status == 'warning', 'sensor__normal-label': sensor.status == 'normal'}">{{sensor.status}}</p>-->
+		<!--</a>-->
 
-    <section id="sensor-categories" class="row column">
-        <div class="row column header-row">
-            <div class="column large-12 header__actions-bar">
-                <p class="inline sensor__heading sensor__category">Sensors</p>
-                <p class="inline float-right sensor__heading right">State</p>
-            </div>
-        </div>
-
-        <a ng-repeat="sensor in (filteredSensorData = data.sensors|filter:filterBySeverity|filter:filterBySearchTerms)" class="sensor__group" href="#/server-health/sensors/{{sensor.type}}"> <span class="inline priority-tag-circ" ng-class="{'high-priority': sensor.status == 'critical', 'medium-priority': sensor.status == 'warning', 'low-priority': sensor.status == 'normal'}" aria-label="High Priority"></span>{{sensor.title}} ({{sensor.data.length}}) <p class="inline float-right" ng-class="{'sensor__critical-label': sensor.status == 'critical', 'sensor__warning-label': sensor.status == 'warning', 'sensor__normal-label': sensor.status == 'normal'}">{{sensor.status}}</p></a>
-
-    </section>
-</div>
\ No newline at end of file
+>>>>>>> work on sensors page. minor bug fixes. removed thresholds scss file. no longer needed due to design changes.
+	</section>
+</div>
diff --git a/app/server-health/controllers/sensors-overview-controller.js b/app/server-health/controllers/sensors-overview-controller.js
index 213a4e3..d68b31f 100644
--- a/app/server-health/controllers/sensors-overview-controller.js
+++ b/app/server-health/controllers/sensors-overview-controller.js
@@ -64,7 +64,10 @@
                 }
 
                 $scope.toggleSeverityAll = function(){
-                    $scope.selectedSeverity.all = !$scope.selectedSeverity.all;
+
+                    if($scope.selectedSeverity.all !== true){
+                      $scope.selectedSeverity.all = !$scope.selectedSeverity.all;
+                    }
 
                     if($scope.selectedSeverity.all){
                         $scope.selectedSeverity.normal = false;
diff --git a/app/server-health/controllers/unit-id-controller.js b/app/server-health/controllers/unit-id-controller.js
index 5494c61..fa47781 100644
--- a/app/server-health/controllers/unit-id-controller.js
+++ b/app/server-health/controllers/unit-id-controller.js
@@ -19,26 +19,6 @@
             'dataService',
             function($scope, $window, APIUtils, dataService, userModel){
                 $scope.dataService = dataService;
-
-                $scope.getLEDState = function(){
-                    APIUtils.getLEDState(function(state){
-                        if(state == APIUtils.LED_STATE.on){
-                            dataService.LED_state = APIUtils.LED_STATE_TEXT.on;
-                        }else{
-                            dataService.LED_state = APIUtils.LED_STATE_TEXT.off;
-                        }
-                    });
-                }
-                $scope.toggleLED = function(){
-                    var toggleState = (dataService.LED_state == APIUtils.LED_STATE_TEXT.on) ?
-                        APIUtils.LED_STATE.off : APIUtils.LED_STATE.on;
-                        dataService.LED_state = (dataService.LED_state == APIUtils.LED_STATE_TEXT.on) ?
-                        APIUtils.LED_STATE_TEXT.off : APIUtils.LED_STATE_TEXT.on;
-                    APIUtils.setLEDState(toggleState, function(status){
-                    });
-                }
-
-                $scope.getLEDState();
             }
         ]
     );
diff --git a/app/server-health/styles/sensors.scss b/app/server-health/styles/sensors.scss
index f720c3b..cd30d6f 100644
--- a/app/server-health/styles/sensors.scss
+++ b/app/server-health/styles/sensors.scss
@@ -1,4 +1,3 @@
-
 @mixin state-label {
   text-transform: uppercase;
   font-weight: 700;
@@ -7,243 +6,136 @@
 
 $title-minWidth: 210px;
 
-.sensor__heading {
+.header__actions-bar {
+  padding-left: 1.5em;
   font-weight: 700;
-  &.middle,
-  &.right {
-    display: none;
-    @media (min-width: 950px) {
-      display: inline-block;
-    }
+  .sensor__heading-current {
+    padding-right: 1em;
   }
 }
 
-.sensor__critical-label {
-  color: $thresh-critical;
-  @include state-label;
-}
-.sensor__warning-label {
-  color: $thresh-warning;
-  @include state-label;
+.sensor__heading-current {
+  margin: 0;
+  @include mediaQuery(medium) {
+    margin-left: 10px;
+    margin-right: 10px;
+  }
 }
 
-#sensors-overview {
-  .sensor__group {
-    position: relative;
-    display: block;
-    margin: .5em 0;
-    background: $white;
-    padding: 1.5em 6em 1.5em 3.7em;
-    text-decoration: none;
-    border: 1px solid $lightgrey;
+.sensor__label {
+  float: left;
+  font-weight: 300;
+  @include mediaQuery(medium) {
+    display: none;
+  }
+}
+
+.sensor__title {
+  min-width: 30%;
+  margin-bottom: 0;
+}
+
+.sensor__reading {
+  width: 100%;
+  text-align: right;
+  margin-bottom: 0;
+  display: none;
+  @include mediaQuery(medium) {
+    display: inline-block;
+    width: auto;
+    min-width: calc(70% * (1 / 5) - 10px);
+  }
+}
+
+.sensor__readings-row {
+  position: relative;
+  display: block;
+  margin: 0;
+  background: $white;
+  text-decoration: none;
+  border: 1px solid $medgrey;
+  background: lighten($lightgrey,1%);
+  margin-top: 1em;
+  @include mediaQuery(medium) {
+    padding: .3em 1em .3em 1.5em;
+    margin-top: 0;
+    border-top: 0;
+    background: transparent;
+  }
+  .icon {
+    margin: -8px 0 -8px -8px;
+  }
+  .sensor__title {
     font-weight: 700;
-    &:hover {
-      background: $lightblue;
+    background: darken($lightgrey, 5%);
+    min-width: 100%;
+    padding: .8em;
+    @include mediaQuery(medium) {
+      min-width: 30%;
+      background: transparent;
+      padding: .5em .5em .5em 0;
+    }
+  }
+  .content-label {
+    font-size: 1em;
+    margin-left: .8em;
+    color: lighten($darkgrey, 10%);
+  }
+  .sensor__reading {
+    @include fontCourierBold;
+    display: block;
+    padding: .3em .8em;
+    @include mediaQuery(medium) {
+      display: inline-block;
+      padding: 0;
+    }
+  }
+  .sensor__current {
+    background: darken($thresh-normal, 3%);
+    margin: 0;
+    @include mediaQuery(medium) {
+      background: $thresh-normal;
+      padding: .7em 1em;
+      margin-left: 10px;
+      margin-right: 10px;
+    }
+    .sensor__label {
+      font-weight: 700;
+      @include mediaQuery(medium) {
+        font-weight:300;
+      }
+    }
+  }
+  .sensor__critical {
+    background: $thresh-critical;
+    color: $white;
+    .content-label {
+      color: $white;
+    }
+  }
+  .sensor__warn {
+    background: $thresh-warning;
+    color: $black;
+    .content-label {
       color: $black;
     }
-    @include mediaQuery(x-large) {
-      //max-width: 60%;
-    }
   }
-  .priority-tag-circ {
-    position: absolute;
-    top: 50%;
-    left: 1.2em;
-    transform: translateY(-50%);
-  }
-  .header__actions-bar {
-    padding-left: 3.5em;
-    padding-right: 7.3em;
-  }
+
 }
 
 // Sensors
 
 #sensors, #sensors-overview {
-  .accord-row {
-    padding-left: 3.7em;
-    padding-right: 1em;
-  }
+
   .content__search {
     max-width: 100%;
     @media(min-width: 1300px) {
-      max-width: 50%;
+      max-width: 70%;
     }
   }
   .toggle-filter {
-    display: inline-block;
     margin-right: 0;
   }
 }
 
-#back-link {
-  margin: 1em 0 0;
-  a {
-    text-decoration: none;
-    position: relative;
-    display: inline-block;
-    padding-left: 1.2em;
-    font-weight: 700;
-    &:before {
-      content: '\221F';
-      position: absolute;
-      top: 50%;
-      left: 0;
-      transform: translateY(-53%) rotate(45deg);
-      display: inline-block;
-      margin-right: 6px;
-      font-size: 1.1em;
-      font-weight: bold;
-      text-shadow: 0 0 1px black;
-    }
-    &:hover {
-      text-decoration: underline;
-    }
-  }
-}
-
-#sensor__details {
-  display: block;
-  margin-top: .6em;
-  position: relative;
-  overflow: hidden;
-
-  .header__actions-bar {
-    position: relative;
-    padding: 1em 35px 0 3.7em;
-
-    .priority-tag-circ {
-      position: absolute;
-      left: 1.2em;
-      top: 50%;
-      transform: translateY(-50%);
-      &.high-priority {
-        background-color: rgba($critical-darkbg, .3);
-      }
-    }
-    .sensor__category {
-      margin: 0;
-      color: $white;
-      min-width: $title-minWidth;
-    }
-  }
-  .header-row {
-    background: $darkpurple;
-  }
-
-  //Export log
-  .btn-export {
-    text-transform: capitalize;
-    color: $black;
-    font-size: .9em;
-    font-weight: 700;
-    position: relative;
-    padding: 0 0 1em 2em;
-    &:hover {
-      text-decoration: underline;
-    }
-  }
-  .btn-export {
-    margin-top: 7px;
-  }
-  .btn-export:before {
-    content: '\21E5';
-    position: absolute;
-    font-size: 1.7em;
-    vertical-align: middle;
-    transform: rotate(90deg);
-    display: inline-block;
-    left: 2px;
-    top: -5px;
-  }
-
-  .sensor__info {
-    padding-top: 10px;
-    &:hover {
-      cursor: pointer;
-    }
-  }
-
-  .accord-row {
-    // accordion row
-    .priority-tag-circ {
-      position: absolute;
-      top: 28px;
-      left: 1.2em;
-    }
-
-  }
-
-  //Sensor info
-  .sensor__title {
-    font-weight: 700;
-    font-size: 1.1em;
-    min-width: $title-minWidth;
-    max-width: 78%;
-    vertical-align: top;
-  }
-  .sensors__description {
-    font-weight: 400;
-  }
-
-  .sensor__reading {
-    @include fontCourierBold;
-    font-size: 1.2em;
-    color: $black;
-    max-width: 18%;
-  }
-
-  // Sensor metadata row
-  .sensors__metadata-row {
-    max-height: 0;
-    overflow: hidden;
-    -webkit-transition: 0.5s linear max-height;
-    transition: 0.5s linear max-height;
-    padding: 0;
-    @include  fastTransition-all;
-    @include mediaQuery(large) {
-      margin-left: 200px;
-    }
-    &.active {
-      max-height: 1000px; //max-height used to allow flexible height of content and still allow transition
-      @include mediaQuery(small) {
-        max-height: 1000px;
-      }
-      @include mediaQuery(medium) {
-        max-height: 1000px;
-      }
-    }
-  }
-
-  //Sensor Related Items
-  .sensors__related {
-    width: 100%;
-  }
-  .sensors__related-label {
-    font-weight: 700;
-    margin-right: 1.2em;
-    padding-top: .3em;
-  }
-
-  .sensors__related-item {
-    margin-right: 1em;
-    padding-top: .3em;
-    display: inline-block;
-    float: left;
-    clear: both;
-  }
-
-  .sensors__icon {
-    width: 20px;
-    height: 20px;
-    font-weight: normal;
-    margin-right: .5em;
-    margin-top: -3px;
-    display: inline-block;
-  }
-
-}
-
-//end sensor details
-
-
+//end sensor details
\ No newline at end of file
