diff --git a/src/index.ts b/src/index.ts
index b03f4b4..88c2250 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -28,6 +28,8 @@
 import {IXosPageTitleService} from './app/core/services/page-title';
 import {IXosConfigHelpersService} from './app/core/services/helpers/config.helpers';
 import {StyleConfig} from './app/config/style.config';
+import {IXosResourceService} from './app/datasources/rest/model.rest';
+import {IXosModelHelpersService} from './app/core/services/helpers/model.helper';
 
 export interface IXosState extends angular.ui.IState {
   data: IXosCrudData;
@@ -63,9 +65,12 @@
     $location: ng.ILocationService,
     $state: ng.ui.IStateService,
     ModelDefs: IModeldefsService,
+    ModelRest: IXosResourceService,
     RuntimeStates: IRuntimeStatesService,
     NavigationService: IXosNavigationService,
     ConfigHelpers: IXosConfigHelpersService,
+    ModelHelpers: IXosModelHelpersService,
+    toastr: ng.toastr.IToastrService,
     PageTitle: IXosPageTitleService
   ) => {
 
@@ -99,13 +104,27 @@
                     icon: 'remove',
                     color: 'red',
                     cb: (item) => {
+                      let obj = angular.copy(item);
+                      // check that item in an angular resource
+                      if (!item.$delete) {
+                        const endpoint = ModelHelpers.urlFromCoreModel(m.name);
+                        const resource = ModelRest.getResource(endpoint);
+                        // create a resource with that item
+                        item = new resource(item);
+
+                      }
                       console.log(item);
                       item.$delete()
-                        .then(res => {
-                          console.log(res);
+                        .then((res) => {
+                          if (res.status === 404) {
+                            // TODO understand why it does not go directly in catch
+                            throw new Error();
+                          }
+                          toastr.info(`${m.name} ${obj.name} succesfully deleted`);
                         })
-                        .catch(err => {
-                          console.error(err);
+                        .catch(() => {
+                          console.log(obj);
+                          toastr.error(`Error while deleting ${obj.name}`);
                         });
                     }
                   }
