diff --git a/mCordPortal/src/app/components/add-imsi/add-imsi.html b/mCordPortal/src/app/components/add-imsi/add-imsi.html
new file mode 100644
index 0000000..9aa4048
--- /dev/null
+++ b/mCordPortal/src/app/components/add-imsi/add-imsi.html
@@ -0,0 +1,6 @@
+<div class="modal-header">
+    <h3 class="modal-title">Create IMSI</h3>
+</div>
+<div class="modal-body">
+    <xos-form ng-model="vm.model" config="vm.config"></xos-form>
+</div>
\ No newline at end of file
diff --git a/mCordPortal/src/app/components/add-imsi/add-imsi.js b/mCordPortal/src/app/components/add-imsi/add-imsi.js
new file mode 100644
index 0000000..5308a5c
--- /dev/null
+++ b/mCordPortal/src/app/components/add-imsi/add-imsi.js
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * 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,
+ * 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.
+ */
+
+angular.module('mCord')
+  .directive('addImsi', function () {
+    return {
+      restrict: 'E',
+      templateUrl: 'app/components/add-imsi/add-imsi.html',
+      scope: {
+        modal: '='
+      },
+      bindToController: true,
+      controllerAs: 'vm',
+      controller: function(Imsi, Enodeb, _){
+        this.model = {
+        };
+        this.config = {
+          formName: 'createImsi',
+          fields: {
+            Enodeb: {
+              type: 'select',
+              validators: {
+                required: true
+              },
+              options: [
+                {
+                  id: 591,
+                  label: '591'
+                },
+                {
+                  id: 592,
+                  label: '592'
+                },
+                {
+                  id: 593,
+                  label: '593'
+                }
+              ]
+            },
+            DlMeasBitRate: {
+              type: 'number',
+              validators: {
+                required: true
+              }
+            },
+            UlMeasBitRate: {
+              type: 'number',
+              validators: {
+                required: true
+              }
+            }
+          },
+          actions: [
+            {
+              label: 'Save',
+              icon: 'ok',
+              cb: (imsi) => {
+                // TODO validate form (wait for arpit to commit)
+                Imsi.save(imsi).$promise
+                .then(() => {
+                  this.modal.close();
+                })
+                .catch(e => {
+                  console.log(this.modal);
+                })
+              },
+              class: 'success'
+            },
+            {
+              label: 'Cancel',
+              icon: 'remove',
+              cb: () => {
+                this.modal.close();
+              },
+              class: 'warning'
+            }
+          ]
+        };
+
+        // TODO use this once merged Arpit PR
+        Enodeb.query().$promise
+        .then(enodes => {
+          this.config.fields.Enodeb.options = _.reduce(enodes, (list, enode) => {
+            return list.concat([{
+              id: enode.eNBId,
+              label: enode.eNBId.toString()
+            }]);
+          }, []);
+        })
+      }
+    };
+  });
diff --git a/mCordPortal/src/app/components/related-profiles/related-profiles.js b/mCordPortal/src/app/components/related-profiles/related-profiles.js
index f12f2df..44314ef 100644
--- a/mCordPortal/src/app/components/related-profiles/related-profiles.js
+++ b/mCordPortal/src/app/components/related-profiles/related-profiles.js
@@ -25,7 +25,7 @@
       },
       bindToController: true,
       controllerAs: 'vm',
-      controller: function($scope){
+      controller: function($scope, _){
         $scope.$watch(() => this.model, enode => {
           if(enode){
             loadProfiles();
@@ -38,6 +38,13 @@
             this.profiles = profiles;
           });
         };
+
+        this.deleteProfile = (id) => {
+          this.model.deleteProfile(id)
+          .then(() => {
+            _.remove(this.profiles, p => p.Name === id);
+          });
+        }
       }
     };
   });
diff --git a/mCordPortal/src/app/components/related-profiles/related-profiles.tpl.html b/mCordPortal/src/app/components/related-profiles/related-profiles.tpl.html
index e782a6a..9120656 100644
--- a/mCordPortal/src/app/components/related-profiles/related-profiles.tpl.html
+++ b/mCordPortal/src/app/components/related-profiles/related-profiles.tpl.html
@@ -5,6 +5,7 @@
     <th>Upload Rate</th>
     <th>Start Date</th>
     <th>End Date</th>
+    <th></th>
   </tr>
   <tr ng-repeat="profile in vm.profiles">
     <td ng-if="!vm.config.colors">{{profile.Name}}</td>
@@ -21,5 +22,10 @@
     </td>
     <td>{{profile.Start}}</td>
     <td>{{profile.End}}</td>
+    <td ng-if="vm.config.delete">
+      <a href="" ng-click="vm.deleteProfile(profile.Name)">
+        <i class="glyphicon glyphicon-remove"></i>
+      </a>
+    </td>
   </tr>
 </table>
\ No newline at end of file
