diff --git a/src/app/datasources/websocket/global.ts b/src/app/datasources/websocket/global.ts
index aeb92b4..1367dc7 100644
--- a/src/app/datasources/websocket/global.ts
+++ b/src/app/datasources/websocket/global.ts
@@ -68,8 +68,11 @@
         if (data.msg.object.class_names && angular.isString(data.msg.object.class_names)) {
           const models = data.msg.object.class_names.split(',');
           _.forEach(models, (m: string) => {
-            data.model = m;
-            this._events.next(data);
+            // send event only if the parent class is not the same as the model class
+            if (data.model !== m) {
+              data.model = m;
+              this._events.next(data);
+            }
           });
         }
 
diff --git a/src/app/main.html b/src/app/main.html
index 32e54a2..b525d04 100644
--- a/src/app/main.html
+++ b/src/app/main.html
@@ -15,18 +15,6 @@
 limitations under the License.
 -->
 
-
-<!--<div class="main-container">-->
-  <!--<xos-header></xos-header>-->
-  <!--<main class="main">-->
-    <!--<xos-nav></xos-nav>-->
-    <!--<div class="content">-->
-      <!--<div ui-view></div>-->
-    <!--</div>-->
-  <!--</main>-->
-  <!--<xos-footer></xos-footer>-->
-<!--</div>-->
-
 <!-- Wrapper-->
 <div class="wrapper">
 
@@ -41,4 +29,5 @@
     </div>
   </div>
 
-</div>
\ No newline at end of file
+</div>
+
diff --git a/src/decorators.ts b/src/decorators.ts
index 5c1c804..790293d 100644
--- a/src/decorators.ts
+++ b/src/decorators.ts
@@ -20,11 +20,11 @@
     const isLogEnabled = () => {
       // NOTE to enable debug, in the browser console set: localStorage.debug = 'true'
       // NOTE to disable debug, in the browser console set: localStorage.debug = 'false'
-      return window.localStorage.getItem('debug') === 'true';
+      return window.localStorage.getItem('debug-global') === 'true';
     };
 
     const isEventLogEnabled = () => {
-      return window.localStorage.getItem('debug-event') === 'true';
+      return window.localStorage.getItem('debug-events') === 'true';
     };
 
     // Save the original $log.debug()
@@ -50,8 +50,6 @@
           return;
         }
 
-        // TODO toggle events notifications
-
         let args    = [].slice.call(arguments);
         let now     = new Date();
 
