diff --git a/xos/gui/src/app/components/eline-side.component.html b/xos/gui/src/app/components/eline-side.component.html
index e0c19f0..733f022 100755
--- a/xos/gui/src/app/components/eline-side.component.html
+++ b/xos/gui/src/app/components/eline-side.component.html
@@ -7,7 +7,7 @@
 You may obtain a copy of the License at
 
 http://www.apache.org/licenses/LICENSE-2.0
-
+xz
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -15,50 +15,54 @@
 limitations under the License.
 -->
 
-<div class = "elinepanel">
+<div class="elinepanel">
+  <div class="text-right">
+    <a href ng-click="vm.vng.elinePanel({}, vm.vng.eline, false)">
+      <i class="fa fa-remove" style="color:#fff;"></i>
+    </a>
+  </div>
   <h1>ELine Overview</h1>
-  <form ng-submit="vm.saveEline(vm.eng.eline)">
-    <div class="form-group" ng-hide="vm.eng.createMode">
+  <form ng-submit="vm.saveEline(vm.vng.eline)">
+    <div class="form-group" ng-hide="vm.vng.createMode">
       <label>ID</label><br/>
-      <p>{{vm.eng.eline.id}}</p>
+      <p>{{vm.vng.eline.id}}</p>
     </div>
     <div class="form-group">
       <label for="name">Name</label>
-      <input required class="form-control" id="name" type="text" ng-value="vm.eng.eline.name" ng-model="vm.eng.eline.name">
+      <input required class="form-control" id="name" type="text" ng-value="vm.vng.eline.name" ng-model="vm.vng.eline.name">
     </div>
-    <div class="form-group" ng-hide="vm.eng.createMode">
+    <div class="form-group" ng-hide="vm.vng.createMode">
       <label>Backend Status</label><br/>
-      <p>{{vm.eng.eline.backend_status}}</p>
+      <p>{{vm.vng.eline.backend_status}}</p>
     </div>
     <div class="form-group">
       <label for="cpi1">Connect point 1 ID</label>
-      <input required class="form-control" id="cpi1" type="text" ng-value="vm.eng.eline.connect_point_1_id" ng-model="vm.eng.eline.connect_point_1_id">
+      <input required class="form-control" id="cpi1" type="text" ng-value="vm.vng.eline.connect_point_1_id" ng-model="vm.vng.eline.connect_point_1_id">
     </div>
     <div class="form-group">
       <label for="cpi2">Connect point 2 ID</label>
-      <input required class="form-control" id="cpi2" type="text" ng-value="vm.eng.eline.connect_point_2_id" ng-model="vm.eng.eline.connect_point_2_id">
+      <input required class="form-control" id="cpi2" type="text" ng-value="vm.vng.eline.connect_point_2_id" ng-model="vm.vng.eline.connect_point_2_id">
     </div>
     <div class="form-group">
       <label for="bwps">Bandwidth Profile</label>
       <select required class="form-control"
               id="bwps"
-              ng-model="vm.eng.eline.bwp"
-              ng-options="bwp.name as bwp.name for bwp in vm.eng.bwps | orderBy:'name'"
+              ng-model="vm.vng.eline.bwp"
+              ng-options="bwp.name as bwp.name for bwp in vm.vng.bwps | orderBy:'name'"
       >
       </select>
     </div>
     <div class="form-group">
       <label for="sitename">CORD Site Name</label>
-      <input required class="form-control" id="sitename" type="text" ng-value="vm.eng.eline.cord_site_name" ng-model="vm.eng.eline.cord_site_name">
+      <input required class="form-control" id="sitename" type="text" ng-value="vm.vng.eline.cord_site_name" ng-model="vm.vng.eline.cord_site_name">
     </div>
     <div class="form-group">
       <label for="vlanids">Vlan IDs</label>
-      <input required class="form-control" id="vlanids" type="text" ng-value="vm.eng.eline.vlanids" ng-model="vm.eng.eline.vlanids">
+      <input required class="form-control" id="vlanids" type="text" ng-value="vm.vng.eline.vlanids" ng-model="vm.vng.eline.vlanids">
     </div>
     <div class="form-group" style="text-align: center">
       <button type="submit" class="btn btn-success btn-block">Save Changes</button>
     </div>
   </form>
-  <button type="button" class="btn btn-danger btn-block" ng-click="vm.eng.elinePanel({}, vm.eng.eline, false)">Close</button>
-  <button type="button" class="btn btn-danger delete-eline" ng-click="vm.deleteEline(vm.eng.eline)">Delete Eline</button>
+  <button type="button" class="btn btn-danger btn-block" ng-click="vm.deleteEline(vm.vng.eline)" ng-hide="vm.vng.createMode">Delete Eline</button>
 </div>
\ No newline at end of file
diff --git a/xos/gui/src/app/components/eline-side.component.ts b/xos/gui/src/app/components/eline-side.component.ts
index fb8a2f1..e8613e7 100755
--- a/xos/gui/src/app/components/eline-side.component.ts
+++ b/xos/gui/src/app/components/eline-side.component.ts
@@ -2,14 +2,14 @@
 /*
  * Copyright 2017-present Open Networking Foundation
 
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Apache License, Version 2.0 (the 'License');
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
 
  * http://www.apache.org/licenses/LICENSE-2.0
 
  * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
+ * distributed under the License is distributed on an 'AS IS' BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
@@ -20,7 +20,7 @@
 
 class ElineSide {
 
-  static $inject = ['XosSidePanel', 'XosModelStore', '$http', '$log', 'toastr'];
+  static $inject = ['XosSidePanel', 'XosModelStore', '$http', '$log', 'toastr', 'XosConfirm'];
 
   constructor(
     private XosSidePanel: any,
@@ -28,6 +28,7 @@
     private $http: any,
     private $log: any,
     private toastr: any,
+    private XosConfirm: any,
   ) {
     self = this;
   }
@@ -46,12 +47,23 @@
 
   public deleteEline(item: any) {
     let name = item.name;
-    item.$delete().then((res) => {
-      this.toastr.success(`${name} successfully deleted!`);
-    })
-    .catch((error) => {
-        this.toastr.error(`Error while deleting ${name}: ${error.specific_error}`);
-      });
+    this.XosConfirm.open({
+      header: 'Confirm deletion',
+      text: 'Are you sure you want to delete this? This action cannot be undone.',
+      actions: [{
+        label: 'Delete',
+        class: 'btn-danger',
+        cb: () => {
+          item.$delete().then((res) => {
+            this.toastr.success(`${name} successfully deleted!`);
+          })
+            .catch((error) => {
+              this.toastr.error(`Error while deleting ${name}: ${error.specific_error}`);
+            });
+        }
+      }]
+    });
+
   }
 
 
@@ -62,6 +74,6 @@
   controllerAs: 'vm',
   controller: ElineSide,
   bindings: {
-    eng: '='
+    vng: '='
   }
 };
diff --git a/xos/gui/src/app/components/engMap.component.html b/xos/gui/src/app/components/vnaasMap.component.html
similarity index 92%
rename from xos/gui/src/app/components/engMap.component.html
rename to xos/gui/src/app/components/vnaasMap.component.html
index cf85835..65dff42 100755
--- a/xos/gui/src/app/components/engMap.component.html
+++ b/xos/gui/src/app/components/vnaasMap.component.html
@@ -30,7 +30,7 @@
         min-zoom="2"
         styles="{{vm.mapStyles}}"
       >
-        <!--Markers-->
+
         <marker
           ng-repeat="uni in vm.unis"
           id="marker-{{uni.id}}"
@@ -40,8 +40,6 @@
         >
         </marker>
 
-        <!--Marker Info Window-->
-
         <info-window id = "uni-info">
           <div class = "marker-info">
             <h4>{{vm.current_uni.name}}</h4>
@@ -55,8 +53,6 @@
           </div>
         </info-window>
 
-        <!--Connections-->
-
         <shape
           ng-repeat="eline in vm.elines"
           name="polyline"
@@ -75,4 +71,3 @@
     Changes may not display until page refresh.
   </div>
 </div>
-<!--"https://maps.googleapis.com/maps/api/js?key=AIzaSyA3rQOp26I5a21VQhwLal8Z1x3XGHjXfm4"-->
\ No newline at end of file
diff --git a/xos/gui/src/app/components/engMap.component.ts b/xos/gui/src/app/components/vnaasMap.component.ts
similarity index 94%
rename from xos/gui/src/app/components/engMap.component.ts
rename to xos/gui/src/app/components/vnaasMap.component.ts
index 1f726c8..4e50194 100755
--- a/xos/gui/src/app/components/engMap.component.ts
+++ b/xos/gui/src/app/components/vnaasMap.component.ts
@@ -24,7 +24,7 @@
 
 let self;
 
-export class EngMap {
+export class VnaasMap {
 
   static $inject = [
     'NgMap',
@@ -140,14 +140,14 @@
     self.map.showInfoWindow('uni-info', this);
   }
 
-  // do not display backend status or ID in create mode
-
+  // fix this function!
   public elinePanel(e: any, eline: any, exists: boolean) {
+
     self.panelOpen = !self.panelOpen;
     if (exists) {
       self.eline = _.find(self.elines, {id: eline.id});
     }
-    self.XosSidePanel.toggleComponent('elineSide', {eline: self.eline, bwplist: self.bwps, eng: self}, false);
+    self.XosSidePanel.toggleComponent('elineSide', {vng: self}, false);
     if (!self.panelOpen && self.createMode) {
       self.createMode = false;
       self.canCreateEline = true;
@@ -191,8 +191,8 @@
 
 }
 
-export const engMap: angular.IComponentOptions = {
-  template: require('./engMap.component.html'),
+export const vnaasMap: angular.IComponentOptions = {
+  template: require('./vnaasMap.component.html'),
   controllerAs: 'vm',
-  controller: EngMap,
+  controller: VnaasMap,
 };
