diff --git a/src/app/core/header/header.ts b/src/app/core/header/header.ts
index 620aecd..1f01bf8 100644
--- a/src/app/core/header/header.ts
+++ b/src/app/core/header/header.ts
@@ -48,10 +48,6 @@
       // tapToDismiss: false
     });
 
-    // this.$rootScope.$on('xos.core.modelSetup', () => {
-    //   this.states = _.uniqBy(this.states, 'state');
-    // });
-
     this.search = (query: string) => {
       return this.SearchService.search(query);
     };
@@ -61,7 +57,6 @@
       if (e.key === 'f') {
         $('.navbar-form input').focus();
       }
-      // console.log(this.SearchService.getStates());
     });
 
     // redirect to selected page
diff --git a/src/app/core/login/login.ts b/src/app/core/login/login.ts
index a08c17d..673d9a8 100644
--- a/src/app/core/login/login.ts
+++ b/src/app/core/login/login.ts
@@ -4,11 +4,12 @@
 import {IXosStyleConfig} from '../../../index';
 
 class LoginCtrl {
-  static $inject = ['AuthService', '$state', 'ModelSetup', 'StyleConfig'];
+  static $inject = ['$log', 'AuthService', '$state', 'ModelSetup', 'StyleConfig'];
   public loginStyle: any;
   public img: string;
   /** @ngInject */
   constructor(
+    private $log: ng.ILogService,
     private authService: AuthService,
     private $state: angular.ui.IStateService,
     private ModelSetup: IXosModelSetupService,
@@ -39,7 +40,7 @@
         this.$state.go('xos.dashboard');
       })
       .catch(e => {
-        console.error(e);
+        this.$log.error(e);
       });
   }
 
diff --git a/src/app/core/services/helpers/model-setup.helpers.ts b/src/app/core/services/helpers/model-setup.helpers.ts
index b0a2be6..e79899d 100644
--- a/src/app/core/services/helpers/model-setup.helpers.ts
+++ b/src/app/core/services/helpers/model-setup.helpers.ts
@@ -53,8 +53,7 @@
             parent: 'xos.core'
           });
         });
-        console.log('xos.core.modelSetup');
-        this.$rootScope.$emit('xos.core.modelSetup', {done: true});
+
         d.resolve();
       })
       .catch(d.reject);
diff --git a/src/app/core/validation/validation.ts b/src/app/core/validation/validation.ts
index 7481b3b..5a27045 100644
--- a/src/app/core/validation/validation.ts
+++ b/src/app/core/validation/validation.ts
@@ -7,7 +7,6 @@
   public config: any;
 
   $onInit() {
-    console.log('validation');
     this.config = {
       type: 'danger'
     };
