diff --git a/src/app/core/confirm/confirm.html b/src/app/core/confirm/confirm.html
new file mode 100644
index 0000000..c9b4c81
--- /dev/null
+++ b/src/app/core/confirm/confirm.html
@@ -0,0 +1,27 @@
+
+<!--
+Copyright 2017-present Open Networking Foundation
+
+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.
+-->
+
+<div class="modal-header" ng-show="vm.config.header">
+    <h4>{{vm.config.header}}</h4>
+</div>
+<div class="modal-body" ng-show="vm.config.text">
+    {{vm.config.text}}
+</div>
+<div class="modal-footer">
+    <a class="btn btn-default" ng-click="vm.dismiss()">Cancel</a>
+    <a class="btn" ng-class="action.class" ng-repeat="action in vm.config.actions" ng-click="vm.close(action.cb())">{{action.label}}</a>
+</div>
\ No newline at end of file
diff --git a/src/app/core/confirm/confirm.scss b/src/app/core/confirm/confirm.scss
new file mode 100644
index 0000000..7332fd6
--- /dev/null
+++ b/src/app/core/confirm/confirm.scss
@@ -0,0 +1,20 @@
+
+/*
+ * Copyright 2017-present Open Networking Foundation
+
+ * 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.
+ */
+
+.modal-content .modal-header, .modal-content .modal-body, .modal-content .modal-footer{
+  padding: 10px
+}
\ No newline at end of file
diff --git a/src/app/core/confirm/confirm.service.spec.ts b/src/app/core/confirm/confirm.service.spec.ts
new file mode 100644
index 0000000..84a61de
--- /dev/null
+++ b/src/app/core/confirm/confirm.service.spec.ts
@@ -0,0 +1,72 @@
+
+/*
+ * Copyright 2017-present Open Networking Foundation
+
+ * 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.
+ */
+
+
+import * as angular from 'angular';
+import 'angular-mocks';
+import {IXosConfirm, XosConfirm} from './confirm.service';
+
+let service: IXosConfirm;
+let modal;
+let modalInstance;
+
+describe('The XosConfirm service', () => {
+
+  beforeEach(() => {
+    angular.module('XosConfirmTest', ['ui.bootstrap.modal'])
+      .service('XosConfirm', XosConfirm);
+    angular.mock.module('XosConfirmTest');
+
+    angular.mock.inject((
+      XosConfirm: IXosConfirm,
+      $uibModal: any
+    ) => {
+      service = XosConfirm;
+      modal = $uibModal;
+    });
+  });
+
+  describe('the open method', () => {
+
+    let test1 = {
+        header: 'Test Header',
+        text: 'Test body',
+        actions: [{
+          label: 'Action',
+          cb: () => {
+            return;
+          },
+          class: 'btn-success'
+        }]
+      };
+
+    it('should open a modal', () => {
+      spyOn(modal, 'open');
+      modalInstance = service.open(test1);
+      expect(modal.open).toHaveBeenCalled();
+    });
+  });
+
+  // describe('the close method', () => {
+  //
+  // });
+  //
+  // describe('the dismiss method', () => {
+  //
+  // });
+
+});
diff --git a/src/app/core/confirm/confirm.service.ts b/src/app/core/confirm/confirm.service.ts
new file mode 100644
index 0000000..a8e802e
--- /dev/null
+++ b/src/app/core/confirm/confirm.service.ts
@@ -0,0 +1,65 @@
+
+/*
+ * Copyright 2017-present Open Networking Foundation
+
+ * 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.
+ */
+
+import {IXosConfirmConfig} from './confirm';
+
+export interface IXosConfirm {
+  open(config: IXosConfirmConfig) : void;
+  close(cb: Function) : void;
+  dismiss() : void;
+}
+
+export class XosConfirm implements IXosConfirm {
+
+  static $inject = ['$uibModal'];
+  public modalInstance;
+
+  constructor(
+    private $uibModal : any,
+  ) {
+
+  }
+
+  public open(config: IXosConfirmConfig) {
+
+    this.modalInstance = this.$uibModal.open({
+      keyboard: false,
+      component: 'xosConfirm',
+      backdrop: 'static',
+      resolve: {
+        config: () => config
+      }
+    });
+    return this.modalInstance;
+  }
+
+  public close(cb: Function) {
+    cb()
+      .then(() => {
+        this.modalInstance.close();
+      })
+      .catch((err) => {
+        this.modalInstance.dismiss(err);
+    });
+  }
+
+  public dismiss() {
+      this.modalInstance.dismiss();
+  }
+
+}
+
diff --git a/src/app/core/confirm/confirm.ts b/src/app/core/confirm/confirm.ts
new file mode 100644
index 0000000..92ca239
--- /dev/null
+++ b/src/app/core/confirm/confirm.ts
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2017-present Open Networking Foundation
+
+ * 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.
+ */
+
+import './confirm.scss';
+
+export interface IXosConfirmConfig {
+  header?: string;
+  text?: string;
+  actions: IXosConfirmConfigAction[];
+}
+
+export interface IXosConfirmConfigAction {
+  label?: string;
+  cb: Function;
+  icon?: string;
+  class?: string;
+}
+
+class ConfirmCtrl {
+
+  static $inject = ['XosConfirm'];
+
+  public resolve;
+  public config: IXosConfirmConfig;
+
+  constructor(
+    private XosConfirm: any
+  ) {
+
+  }
+
+  public $onInit() {
+    this.config = this.resolve.config;
+  }
+
+  public close(cb: Function) {
+    this.XosConfirm.close(cb);
+  }
+
+  public dismiss() {
+    this.XosConfirm.dismiss();
+  }
+
+}
+
+export const xosConfirm: angular.IComponentOptions = {
+  template: require('./confirm.html'),
+  controllerAs: 'vm',
+  controller: ConfirmCtrl,
+  bindings: {
+    resolve: '<',
+    close: '&',
+    dismiss: '&'
+  }
+};
diff --git a/src/app/core/index.ts b/src/app/core/index.ts
index 523bae6..bdd0157 100644
--- a/src/app/core/index.ts
+++ b/src/app/core/index.ts
@@ -46,6 +46,8 @@
 import {xosDebugSummary} from './debug/debug-summary';
 import {XosDebugService} from './debug/debug.service';
 import {xosDebugModel} from './debug/debug-model';
+import {xosConfirm} from './confirm/confirm';
+import {XosConfirm} from './confirm/confirm.service';
 
 export const xosCore = 'xosCore';
 
@@ -67,6 +69,7 @@
   .service('XosComponentInjector', XosComponentInjector)
   .service('XosDebouncer', XosDebouncer)
   .service('XosDebug', XosDebugService)
+  .service('XosConfirm', XosConfirm)
   .directive('xosLinkWrapper', xosLinkWrapper)
   .component('xosHeader', xosHeader)
   .component('xosFooter', xosFooter)
@@ -83,5 +86,6 @@
   .component('xosKeyBindingPanel', xosKeyBindingPanel)
   .component('xosDebugSummary', xosDebugSummary)
   .component('xosDebugModel', xosDebugModel)
+  .component('xosConfirm', xosConfirm)
   .filter('pagination', PaginationFilter)
   .filter('arrayToList', ArrayToListFilter);
