diff --git a/views/ngXosLib/xosHelpers/src/index.ngdoc.js b/views/ngXosLib/xosHelpers/src/index.ngdoc.js
deleted file mode 100644
index c147763..0000000
--- a/views/ngXosLib/xosHelpers/src/index.ngdoc.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
-* @ngdoc overview
-* @name ngXosLib
-* @id index
-* @description
-* # Welcome to the ngXosLib documentation! <br/>
-* This is the module that group all the helpers service and UI components for XOS.
-* <br/><br/>
-* You can find all the documentation related to the UI Component Library here: <a href="#/module/xos.uiComponents"> xos.uiComponents</a> <br/>
-* and the documentation related to all the other helpers here: <a href="#/module/xos.helpers"> xos.helpers</a> <br/>
-**/
\ No newline at end of file
diff --git a/views/ngXosLib/xosHelpers/src/ui_components/ui-components.module.js b/views/ngXosLib/xosHelpers/src/ui_components/ui-components.module.js
deleted file mode 100644
index f8bc222..0000000
--- a/views/ngXosLib/xosHelpers/src/ui_components/ui-components.module.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * © OpenCORD
- *
- * Visit http://guide.xosproject.org/devguide/addview/ for more information
- *
- * Created by teone on 3/24/16.
- */
-
-(function () {
-  'use strict';
-
-  /**
-  * @ngdoc overview
-  * @name xos.uiComponents
-  * @description
-  * # xos.uiComponents
-  * A collection of UI components useful for Dashboard development. <br/>
-  * Currently available components are:
-  * - [xosAlert](/#/module/xos.uiComponents.directive:xosAlert)
-  * - [xosForm](/#/module/xos.uiComponents.directive:xosForm)
-  * - [xosPagination](/#/module/xos.uiComponents.directive:xosPagination)
-  * - [xosSmartTable](/#/module/xos.uiComponents.directive:xosSmartTable)
-  * - [xosTable](/#/module/xos.uiComponents.directive:xosTable)
-  * - [xosValidation](/#/module/xos.uiComponents.directive:xosValidation)
-  **/
-
-  angular.module('xos.uiComponents', [
-    'chart.js',
-    'RecursionHelper'
-  ])
-})();
diff --git a/views/ngXosLib/xosHelpers/src/xosHelpers.module.js b/views/ngXosLib/xosHelpers/src/xosHelpers.module.js
deleted file mode 100644
index 9ec3f10..0000000
--- a/views/ngXosLib/xosHelpers/src/xosHelpers.module.js
+++ /dev/null
@@ -1,46 +0,0 @@
-(function() {
-  'use strict';
-
-  /**
-  * @ngdoc overview
-  * @name xos.helpers
-  * @description
-  * # xos.Helpers
-  * A collection of helpers to work with XOS <br/>
-  * Currently available components are:
-  * - [NoHyperlinks](/#/module/xos.helpers.NoHyperlinks)
-  * - [SetCSRFToken](/#/module/xos.helpers.SetCSRFToken)
-  * - [xosNotification](/#/module/xos.helpers.xosNotification)
-  * - [XosUserPrefs](/#/module/xos.helpers.XosUserPrefs)
-  * <br/><br/>
-  * A set of angular [$resource](https://docs.angularjs.org/api/ngResource/service/$resource) is provided to work with the API.<br>
-  * You can find the documentation [here](#/rest-api)
-  **/
-
-  angular
-      .module('xos.helpers', [
-        'ngCookies',
-        'ngResource',
-        'ngAnimate',
-        'xos.uiComponents'
-      ])
-      .config(config)
-
-      /**
-      * @ngdoc service
-      * @name xos.helpers._
-      * @description Wrap [lodash](https://lodash.com/docs) in an Angular Service
-      **/
-
-      .factory('_', $window => $window._ );
-
-  function config($httpProvider, $interpolateProvider, $resourceProvider) {
-    $httpProvider.interceptors.push('SetCSRFToken');
-
-    $interpolateProvider.startSymbol('{$');
-    $interpolateProvider.endSymbol('$}');
-
-    // NOTE http://www.masnun.com/2013/09/18/django-rest-framework-angularjs-resource-trailing-slash-problem.html
-    $resourceProvider.defaults.stripTrailingSlashes = false;
-  }
-})();
\ No newline at end of file
