diff --git a/src/app/hirebike/hirebike.page.html b/src/app/hirebike/hirebike.page.html
index 1e54113dde11f712827b37430d6d5a452a5fcbd0..12f4a5127ff672a3b4c37523e24b65ba1ef4fc09 100644
--- a/src/app/hirebike/hirebike.page.html
+++ b/src/app/hirebike/hirebike.page.html
@@ -71,12 +71,13 @@
       </div>
       <div id="route-selection-container" *ngIf="!isTripStarted">
         <div class="route-selection-header" *ngIf="gotRouteOptions">
-          <div class="waypoint-wrapper">
+          <div class="waypoint-wrapper" style="position: relative;">
             <div [innerHTML]="wayPointsInfo"></div>
             <div> Select Route:</div>
+            <ion-icon name="close" (click)="closeRouteOptionsPanel()" style="position: absolute;top: 11px;right: 10px;font-size: 24px;"></ion-icon>
           </div>
         </div>
-        <div class="routes-list-wrapper">
+        <div class="routes-list-wrapper" *ngIf="gotRouteOptions">
           <div class="routes-list-inner" style="padding: 8px; padding-bottom: 0;">
             <div class="route-option-wrapper" style="margin-bottom: 10px;
             box-shadow: 0px 0px 3px 0px rgba(15, 22, 33, 0.3);
diff --git a/src/app/hirebike/hirebike.page.ts b/src/app/hirebike/hirebike.page.ts
index 4e6051c7660b0f74cc677ecb8d10ffb9bf79ba9e..ace4f14c746d9a4fd36181d6272d857b80ffac4d 100644
--- a/src/app/hirebike/hirebike.page.ts
+++ b/src/app/hirebike/hirebike.page.ts
@@ -269,6 +269,7 @@ export class HirebikePage implements OnInit {
     // }
   }
 
+  noGoAreas:any = {};
   displayNoGoAreas(resp) {
     let routes = resp.data.routes;
     let allNoGoAreas = [];
@@ -281,12 +282,12 @@ export class HirebikePage implements OnInit {
     //finalNoGoAreas = [...new Set(allNoGoAreas)];
     let x = (allNoGoAreas) => allNoGoAreas.filter((v,i) => allNoGoAreas.indexOf(v) === i)
     finalNoGoAreas = x(allNoGoAreas);
-    //let group = new H.map.Group();
+    this.noGoAreas = new H.map.Group();
     //this.addRectangleToMap();
     for (let i = 0; i < finalNoGoAreas.length; i++){
       let coords = finalNoGoAreas[i].split(" ");
       let boundingBox = new H.geo.Rect(Number(coords[0]).toPrecision(15), Number(coords[1]).toPrecision(15), Number(coords[2]).toPrecision(15), Number(coords[3]).toPrecision(15));
-      this.map.addObject(
+      this.noGoAreas.addObject(
         new H.map.Rect(boundingBox, {
           style: {
             fillColor: 'rgba(255, 0, 0, 0.5)',
@@ -296,6 +297,8 @@ export class HirebikePage implements OnInit {
         })
       );
     }
+    //this.map.addObject();
+    this.map.addObject(this.noGoAreas);
   }
 
   /**
@@ -320,8 +323,10 @@ export class HirebikePage implements OnInit {
       let route = routeResp.response.route[0];
       //console.log(route);
       this.setRouteOptions(route, i, resp.data.routes[i].mode, selectedRouteIndex, resp.data.routes[i].prediction);
+      let grayscale = 100 + (i * 20);
+      let routeColor = 'rgba(' + [grayscale, grayscale, grayscale].join(',') +', 0.9)';
       if (i !== selectedRouteIndex) {
-        this.drawRouteLine(route, i);
+        this.drawRouteLine(route, i, routeColor);
       }
     }
     let routeResp = JSON.parse(resp.data.routes[selectedRouteIndex].route);
@@ -419,6 +424,19 @@ export class HirebikePage implements OnInit {
     }
   }
 
+  closeRouteOptionsPanel(){
+    this.removeRouteLines();
+    this.removeNoGoAreas();
+    this.isRouteSelected = false;
+    this.selectedRoute = {};
+    this.routeLines = {};
+    this.gotRouteOptions = false;
+  }
+
+  removeNoGoAreas(){
+    this.map.removeObject(this.noGoAreas);
+  }
+
   startTrip() {
     this.isBikeHired = true;
     this.startRideSubject.next('some value');