diff --git a/src/app/template/directives/directives.ts b/src/app/template/directives/directives.ts
index c2d96cd..76b0907 100644
--- a/src/app/template/directives/directives.ts
+++ b/src/app/template/directives/directives.ts
@@ -4,27 +4,7 @@
  */
 /* tslint:disable */
 
-
-/**
- * pageTitle - Directive for set Page title - mata title
- */
 import * as $ from 'jquery';
-export function pageTitle($rootScope, $timeout) {
-  return {
-    link: function(scope, element) {
-      var listener = function(event, toState, toParams, fromState, fromParams) {
-        // Default title
-        var title = 'LUNA | AngularJS Responsive WebApp';
-        // Create your own title pattern
-        if (toState.data && toState.data.pageTitle) title = 'LUNA | ' + toState.data.pageTitle;
-        $timeout(function() {
-          element.text(title);
-        });
-      };
-      $rootScope.$on('$stateChangeStart', listener);
-    }
-  }
-}
 
 /**
  * minimalizaSidebar - Directive for minimalize sidebar
diff --git a/src/app/template/index.ts b/src/app/template/index.ts
index b3d8242..a407462 100644
--- a/src/app/template/index.ts
+++ b/src/app/template/index.ts
@@ -1,7 +1,7 @@
 // TODO check used deps
 
-import {pageTitle, minimalizaMenu, panelTools} from './directives/directives';
-export const xosTemplate = 'luna';
+import {minimalizaMenu, panelTools} from './directives/directives';
+export const xosTemplate = 'xosTemplate';
 
 import 'angular-ui-bootstrap';
 import 'angular-animate';
@@ -14,7 +14,7 @@
 
 
 (function () {
-  angular.module('luna', [
+  angular.module('xosTemplate', [
     'ui.router',                // Angular flexible routing
     'ui.bootstrap',             // AngularJS native directives for Bootstrap
     // 'angular-flot',             // Flot chart
@@ -26,7 +26,6 @@
     // 'datatables.buttons',       // Datatables Buttons
     // 'ui.tree'                   // Angular ui Tree
   ])
-    .directive('pageTitle', pageTitle)
     .directive('minimalizaMenu', minimalizaMenu)
     // .directive('sparkline', sparkline)
     .directive('panelTools', panelTools);
