update design
diff --git a/getting-started/css/factory.css b/getting-started/css/factory.css
new file mode 100644
index 0000000..a71cd0d
--- /dev/null
+++ b/getting-started/css/factory.css
@@ -0,0 +1,123 @@
+.ribbon-box {
+    position: relative;
+}
+
+.factory-desc {
+    height: 75px;
+}
+
+.factory-category-example {
+    color: #ccc;
+}
+
+.factory-category-framework {
+    color: #87CEEB;
+}
+
+.factory-info {
+    text-align: center;
+    width: 100%;
+    margin-top: 20px;
+}
+
+.ribbon {
+    position: absolute;
+    right: -5px; top: -5px;
+    z-index: 1;
+    overflow: hidden;
+    width: 75px; height: 75px;
+    text-align: right;
+}
+.ribbon span {
+    font-size: 10px;
+    font-weight: bold;
+    color: #FFF;
+    text-transform: uppercase;
+    text-align: center;
+    line-height: 20px;
+    transform: rotate(45deg);
+    -webkit-transform: rotate(45deg);
+    width: 100px;
+    display: block;
+    background: #79A70A;
+    background: linear-gradient(#F79E05 0%, #8F5408 100%);
+    box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
+    position: absolute;
+    top: 19px; right: -21px;
+}
+.ribbon span::before {
+    content: "";
+    position: absolute; left: 0px; top: 100%;
+    z-index: -1;
+    border-left: 3px solid #8F5408;
+    border-right: 3px solid transparent;
+    border-bottom: 3px solid transparent;
+    border-top: 3px solid #8F5408;
+}
+.ribbon span::after {
+    content: "";
+    position: absolute; right: 0px; top: 100%;
+    z-index: -1;
+    border-left: 3px solid transparent;
+    border-right: 3px solid #8F5408;
+    border-bottom: 3px solid transparent;
+    border-top: 3px solid #8F5408;
+}
+
+.ribbon span a {
+    outline: none;
+    border: none;
+    color: white;
+}
+
+.factories-choice {
+    border: 1px solid #e3e3e3;
+    border-radius: 5px;
+}
+
+.factories-choice a {
+    border: none;
+    cursor: pointer;
+}
+
+.factories-choice .btn:hover, .btn:focus, .btn.focus {
+    color: inherit;
+}
+
+.factories-choice .dropdown-menu .divider {
+    margin: 0;
+}
+
+.factories-choice button {
+    outline: none;
+    line-height: 24px;
+
+}
+
+.factories-choice .btn {
+    outline: none;
+    background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
+    background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
+    background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
+    background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
+}
+
+.factories-filter-group {
+    text-align: right;
+}
+
+.factories-search-input {
+    height: 50px;
+    padding-left: 40px;
+}
+
+.factories-innerform {
+    float: left;
+    margin-left: 10px;
+    margin-top: -40px;
+    position: relative;
+    z-index: 2;
+    color: #e3e3e3;
+    font-size: 25px;
+}
\ No newline at end of file
diff --git a/getting-started/index.html b/getting-started/index.html
index d175429..dc4d24a 100644
--- a/getting-started/index.html
+++ b/getting-started/index.html
@@ -1,6 +1,6 @@
 
 <!doctype html>
-<html>
+<html ng-app="gettingStarted">
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -41,7 +41,10 @@
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
     <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300' rel='stylesheet' type='text/css'>
     <link href="../stylesheets/all.css" rel="stylesheet" />
+    <link href="css/factory.css" rel="stylesheet" />
+    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+    <script src="scripts/factories.js"></script>
     <script src="../javascripts/bootstrap.min.js"></script>
 
     <!-- Equal Height for Content Script -->
@@ -172,317 +175,8 @@
    </div> <!-- /.row -->
    <!-- END_CUSTOM_WORKSPACE -->
 
+      <getting-started-factories></getting-started-factories>
 
-
-
-    <!-- START_CONTRIBUTION_REPOSITORIES -->
-   <div class="block">
-     <h2>Contribute to a Project</h2>
-   </div>
-
-   <div class="row">
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/7pabc2kl40gb6yep.png" alt="Logo for Elasticsearch">
-         </div>
-         <div class="media-body">
-           <h4>Elasticsearch</h4>
-           <p class="small" style="height: 50px;">Open source, distributed, RESTful search engine.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=7pabc2kl40gb6yep" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/zia672875qiibfzv.png" alt="Logo for Generator Alfresco">
-         </div>
-         <div class="media-body">
-           <h4>Alfresco</h4>
-           <p class="small" style="height: 50px;">Open-source content management.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=zia672875qiibfzv" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/rp0k4m6gh6rzifmi.png" alt="Logo for Javaslang">
-         </div>
-         <div class="media-body">
-           <h4>Javaslang</h4>
-           <p class="small" style="height: 50px;">A functional library for Java 8+.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=rp0k4m6gh6rzifmi" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/lse9alc1que84k1y.png" alt="Logo for Sourcegraph">
-         </div>
-         <div class="media-body">
-           <h4>Sourcegraph</h4>
-           <p class="small" style="height: 50px;">Code intelligence for development teams.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=lse9alc1que84k1y" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/suloomuf7cvcfghn.png" alt="Logo for TomEE">
-         </div>
-         <div class="media-body">
-           <h4>TomEE</h4>
-           <p class="small" style="height: 50px;">Tomcat-based Java EE application server.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=suloomuf7cvcfghn" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/tdwv5klhq3zcuowr.png" alt="Logo for cfpio">
-         </div>
-         <div class="media-body">
-           <h4>cfp.io</h4>
-           <p class="small" style="height: 50px;">Simplify requesting papers for conferences.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=tdwv5klhq3zcuowr" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-   </div><!-- /.row -->
-  <!-- END_CONTRIBUTION_REPOS -->
-
-
-  <!-- START_RUN_SAMPLES -->
-   <div class="block">
-     <h2>Run a Tutorial / Sample</h2>
-   </div>
-
-   <div class="row">
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/omriatu352kkthua.png" alt="Logo for Java + Maven">
-         </div>
-         <div class="media-body">
-           <h4>Java + Maven</h4>
-           <p class="small" style="height: 50px;">Hello world console app with auto-build and run.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=omriatu352kkthua" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/5use7stej9bi9mxd.png" alt="Logo for Java + Gradle">
-         </div>
-         <div class="media-body">
-           <h4>Java + Gradle</h4>
-           <p class="small" style="height: 50px;">Hello world console app with auto-build and run.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=5use7stej9bi9mxd" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/af9r928owfulum17.png" alt="Logo for Node.js">
-         </div>
-         <div class="media-body">
-           <h4>Node.js</h4>
-           <p class="small" style="height: 50px;">Hello world web app with auto-build and run.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=af9r928owfulum17" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/21w2nx87yto2xi1z.png" alt="Logo for C++">
-         </div>
-         <div class="media-body">
-           <h4>C++</h4>
-           <p class="small" style="height: 50px;">Hello world console app with auto-build and run.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=21w2nx87yto2xi1z" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/5ayat0naxlljn3p2.png" alt="Logo for PHP">
-         </div>
-         <div class="media-body">
-           <h4>PHP</h4>
-           <p class="small" style="height: 50px;">Hello world web app with auto-build and run.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=5ayat0naxlljn3p2" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/mo97t9pkaijr7q1c.png" alt="Logo for .NET">
-         </div>
-         <div class="media-body">
-           <h4>.NET</h4>
-           <p class="small" style="height: 50px;">Hello world console app on Linux with Mono.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=mo97t9pkaijr7q1c" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/m9ylnmjtmzvmq99i.png" alt="Logo for ASP.NET">
-         </div>
-         <div class="media-body">
-           <h4>ASP.NET</h4>
-           <p class="small" style="height: 50px;">Hello world web app on Linux with Mono.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=m9ylnmjtmzvmq99i" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/2i2ikikl4kif87l9.png" alt="Logo for Angular 2">
-         </div>
-         <div class="media-body">
-           <h4>Angular 2</h4>
-           <p class="small" style="height: 50px;">Official quick start tutorial.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=2i2ikikl4kif87l9" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-      <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/r6p0l1sfnwm99k94.png" alt="Logo for Spring">
-         </div>
-         <div class="media-body">
-           <h4>Spring</h4>
-           <p class="small" style="height: 50px;">Java Spring PetClinic web app example.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=r6p0l1sfnwm99k94" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/sz7uzyofb8olekkn.png" alt="Logo for Spring Boot">
-         </div>
-         <div class="media-body">
-           <h4>Spring Boot</h4>
-           <p class="small" style="height: 50px;">Java web app example for rapid development.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=sz7uzyofb8olekkn" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-    <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/07xzbw8pq5wn02y5.png" alt="Logo for TomEE">
-         </div>
-         <div class="media-body">
-           <h4>TomEE</h4>
-           <p class="small" style="height: 50px;">JAX-RS and Angular web app sample.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=07xzbw8pq5wn02y5" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/lemf30nh52rvsx42.png" alt="Logo for TomEE">
-         </div>
-         <div class="media-body">
-           <h4>TomEE</h4>
-           <p class="small" style="height: 50px;">Stateless Java bean sample app.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=lemf30nh52rvsx42" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/9skz1321dxbqpj5j.png" alt="Logo for Vert.x verticle">
-         </div>
-         <div class="media-body">
-           <h4>Vert.x Verticle</h4>
-           <p class="small" style="height: 50px;">Example web app for reactive applications.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=9skz1321dxbqpj5j" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/9fq0busbm3tz7i8c.png" alt="Logo for Spring Rest Guide">
-         </div>
-         <div class="media-body">
-           <h4>Spring Rest</h4>
-           <p class="small" style="height: 50px;">Tutorial to create a RESTful web service.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=9fq0busbm3tz7i8c" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/ej6koycnt4maubns.png" alt="Logo for Vaadin">
-         </div>
-         <div class="media-body">
-           <h4>Vaadin</h4>
-           <p class="small" style="height: 50px;">Official address book UI demo.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=ej6koycnt4maubns" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/xc7ga4dx6qrgb8ii.png" alt="Logo for ISTEX">
-         </div>
-         <div class="media-body">
-           <h4>ISTEX</h4>
-           <p class="small" style="height: 50px;">API demo for the French digital scientific library.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=xc7ga4dx6qrgb8ii" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/ir9mnlkdt6hxm0z9.png" alt="Logo for ISTEX">
-         </div>
-         <div class="media-body">
-           <h4>ISTEX</h4>
-           <p class="small" style="height: 50px;">API mock for the French digital scientific library.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=ir9mnlkdt6hxm0z9" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-     <div class="col-md-4 col-sm-6">
-       <div class="border media">
-         <div class="media-left">
-           <img src="images/gbfcsdb76f2iy1f2.png" alt="Logo for Wildfly">
-         </div>
-         <div class="media-body">
-           <h4>Wildfly</h4>
-           <p class="small" style="height: 50px;">Java hello world web app example.</p>
-         </div>
-         <a href="http://beta.codenvy.com/f?id=gbfcsdb76f2iy1f2" class="btn-gray80">Launch Workspace</a>
-       </div>
-     </div> <!-- /.col -->
-   </div><!-- /.row -->
-<!-- END_RUN_SAMPLES -->
-
- 
     </div> <!-- /#tab1 -->
 
 <!-- DIVIDER FOR TABS -->
diff --git a/getting-started/scripts/factories-widget.html b/getting-started/scripts/factories-widget.html
new file mode 100644
index 0000000..0aa18b1
--- /dev/null
+++ b/getting-started/scripts/factories-widget.html
@@ -0,0 +1,47 @@
+<div class="row">
+    <div class="col-md-6">
+        <form>
+            <div class="form-group">
+                <input ng-model="search" class="factories-search-input form-control" placeholder="Search factory">
+                <span class="fa fa-search factories-innerform"></span>
+            </div>
+        </form>
+    </div>
+
+    <div class="col-md-3 factories-filter-group">
+        <div class="factories-choice btn-group" data-ng-class="{open: factoriesController.languageOpen}">
+            <button class="btn">Filter by Language</button>
+            <button class="btn dropdown-toggle" data-ng-click="factoriesController.languageOpen=!factoriesController.languageOpen"><span class="caret"></span>
+            </button>
+            <ul class="dropdown-menu" aria-labelledby="dropdownMenu">
+                <li><a ng-click="factoriesController.checkAllLanguages()"><i class="fa fa-check-circle" aria-hidden="true"></i>&nbsp;Check All</a></li>
+                <li><a ng-click="factoriesController.enabledLanguages=[]"><i class="fa fa-times-circle" aria-hidden="true"></i>&nbsp;Uncheck All</a></li>
+                <li class="divider"></li>
+                <li data-ng-repeat="language in factoriesController.availableLanguages"> <a ng-click="factoriesController.toggleSelectedLanguage(language)">{{language}}&nbsp;<i ng-if="factoriesController.isCheckedLanguage(language)" class="fa fa-check" aria-hidden="true"></i></a>
+                </li>
+            </ul>
+        </div>
+    </div>
+    <div class="col-md-3 factories-filter-group">
+
+        <div class="factories-choice btn-group" data-ng-class="{open: factoriesController.categoryOpen}">
+            <button class="btn">Filter by Category</button>
+            <button class="btn dropdown-toggle" data-ng-click="factoriesController.categoryOpen=!factoriesController.categoryOpen"><span class="caret"></span>
+            </button>
+            <ul class="dropdown-menu" aria-labelledby="dropdownMenu">
+                <li><a ng-click="factoriesController.checkAllCategories()"><i class="fa fa-check-circle" aria-hidden="true"></i>&nbsp;Check All</a></li>
+                <li><a ng-click="factoriesController.enabledCategories=[]"><i class="fa fa-times-circle" aria-hidden="true"></i>&nbsp;Uncheck All</a></li>
+                <li class="divider"></li>
+                <li data-ng-repeat="category in factoriesController.availableCategories"> <a ng-click="factoriesController.toggleSelectedCategory(category)">{{category}}&nbsp;<i ng-if="factoriesController.isCheckedCategory(category)" class="fa fa-check" aria-hidden="true"></i></a>
+                </li>
+            </ul>
+        </div>
+    </div>
+
+</div>
+
+<div class="row">
+    <span ng-repeat="factory in factoriesController.factories  | orderBy:['-badgedRepository','name'] | factoryCategoryFilter:factoriesController.enabledCategories | factoryLanguageFilter:factoriesController.enabledLanguages | filter:search">
+        <getting-started-factory factory="factory"></getting-started-factory>
+    </span>
+</div>
\ No newline at end of file
diff --git a/getting-started/scripts/factories.js b/getting-started/scripts/factories.js
new file mode 100644
index 0000000..dcad9d0
--- /dev/null
+++ b/getting-started/scripts/factories.js
@@ -0,0 +1,151 @@
+angular.module('gettingStarted', [])
+    .directive('gettingStartedFactory', function() {
+        return {
+            bindToController : true,
+            controller: 'FactoryController',
+            controllerAs: 'factoryController',
+            templateUrl: 'scripts/factory-widget.html',
+            scope: {
+                factory: '=factory',
+            }
+        };
+    })
+    .filter('factoryCategoryFilter', function () {
+        return function (factories, enabledCategories) {
+            if (enabledCategories.length > 0) {
+                var filtered = [];
+                for (var i = 0; i < factories.length; i++) {
+                    var factory = factories[i];
+                    if (enabledCategories.indexOf(factory.category) >= 0) {
+                        filtered.push(factory);
+                    }
+                }
+                return filtered;
+            }
+
+            return factories;
+        }
+    })
+    .filter('factoryLanguageFilter', function () {
+        return function (factories, enabledLanguages) {
+            if (enabledLanguages.length > 0) {
+                var filtered = [];
+                for (var i = 0; i < factories.length; i++) {
+                    var factory = factories[i];
+                    var languages = factory.languages;
+                    if (languages) {
+                        languages.forEach(function (language) {
+                            if (enabledLanguages.indexOf(language) >= 0) {
+                                filtered.push(factory);
+                            }
+                        });
+                    }
+
+                }
+                return filtered;
+            }
+
+            return factories;
+        }
+    })
+    .controller('FactoryController', function () {
+
+
+
+    })
+    .directive('gettingStartedFactories', function() {
+        return {
+            bindToController : true,
+            controller: 'FactoriesController',
+            controllerAs: 'factoriesController',
+            templateUrl: 'scripts/factories-widget.html'
+        };
+    })
+    .controller('FactoriesController', ['$http', function ($http) {
+        this.availableCategories = [];
+        this.availableLanguages = [];
+        this.enabledCategories = [];
+        this.enabledLanguages = [];
+        this.factories = [];
+        var self = this;
+        var promise = $http.get('scripts/factories.json');
+
+        this.toggleSelected = function (item, enabledArray) {
+            var index = enabledArray.indexOf(item);
+            if (index < 0) {
+                enabledArray.push(item);
+            } else {
+                enabledArray.splice(index, 1);
+            }
+        };
+
+        this.isChecked = function (item, enabledArray) {
+            return enabledArray.indexOf(item) >= 0;
+        };
+
+        this.checkAll = function (availableArray) {
+            return availableArray.slice(0);
+        };
+
+
+        this.toggleSelectedLanguage = function (language) {
+            return self.toggleSelected(language, self.enabledLanguages);
+        };
+
+        this.toggleSelectedCategory = function (category) {
+            return self.toggleSelected(category, self.enabledCategories);
+        };
+
+
+        this.isCheckedCategory = function (category) {
+            return self.isChecked(category, self.enabledCategories);
+        };
+
+        this.isCheckedLanguage = function (language) {
+            return self.isChecked(language, self.enabledLanguages);
+        };
+
+        this.checkAllLanguages = function () {
+            self.enabledLanguages = self.checkAll(self.availableLanguages);
+        };
+
+        this.checkAllCategories = function () {
+            self.enabledCategories = self.checkAll(self.availableCategories);
+        };
+
+        promise.then(function (response) {
+            self.factories = response.data.factories;
+
+            // now, populate the different categories
+            self.factories.forEach(function(factory) {
+                if (self.availableCategories.indexOf(factory.category) < 0) {
+                    self.availableCategories.push(factory.category);
+                }
+
+                var languages = factory.languages;
+                if (languages) {
+                    languages.forEach(function (language) {
+                       if (self.availableLanguages.indexOf(language) < 0) {
+                           self.availableLanguages.push(language);
+                       }
+                    });
+                }
+            });
+
+            // sort arrays
+            self.availableCategories.sort();
+            self.availableLanguages.sort();
+
+        });
+
+        this.toggleCategory = function (category) {
+            var index = self.enabledCategories.indexOf(category);
+            if (index >= 0) {
+                self.enabledCategories.splice(index, 1);
+            } else {
+                self.enabledCategories.push(category);
+            }
+        }
+
+
+    }]);
diff --git a/getting-started/scripts/factories.json b/getting-started/scripts/factories.json
new file mode 100644
index 0000000..3fb81b0
--- /dev/null
+++ b/getting-started/scripts/factories.json
@@ -0,0 +1,367 @@
+{
+  "disclaimer":"DO NOT CHANGE ANYTHING IN THIS FILE, IT IS AUTOMATICALLY GENERATED",
+  "factories":
+  [
+     {
+       "name": ".NET",
+       "desc": "Hello world console app on Linux with Mono",
+       "logo": "images/mo97t9pkaijr7q1c.png",
+       "project": "https://github.com/che-samples/console-dotnet-simple",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=mo97t9pkaijr7q1c",
+       "languages": [
+            ".net"
+
+        ]
+     },
+     {
+       "name": "Angular 2",
+       "desc": "Official Angular2 quick start tutorial",
+       "logo": "images/2i2ikikl4kif87l9.png",
+       "project": "https://github.com/angular/quickstart",
+       "website": "https://angular.io/docs/ts/latest/quickstart.html",
+       "category": "tutorial",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=2i2ikikl4kif87l9",
+       "languages": [
+            "javascript"
+
+        ]
+     },
+     {
+       "name": "ASP.NET",
+       "desc": "Hello world web app on Linux with Mono",
+       "logo": "images/m9ylnmjtmzvmq99i.png",
+       "project": "https://github.com/che-samples/web-aspnet-simple",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=m9ylnmjtmzvmq99i",
+       "languages": [
+            "asp.net"
+
+        ]
+     },
+     {
+       "name": "C++",
+       "desc": "Hello world console app with auto-build and run",
+       "logo": "images/21w2nx87yto2xi1z.png",
+       "project": "https://github.com/che-samples/console-cpp-simple.git",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=21w2nx87yto2xi1z",
+       "languages": [
+            "c++"
+
+        ]
+     },
+     {
+       "name": "cfp.io",
+       "desc": "Simplify requesting papers for conferences",
+       "logo": "images/tdwv5klhq3zcuowr.png",
+       "project": "https://github.com/cfpio/callForPaper",
+       "website": "http://www.cfp.io",
+       "category": "framework",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=tdwv5klhq3zcuowr",
+       "languages": [
+            "java",
+            "javascript"
+
+        ]
+     },
+     {
+       "name": "Elasticsearch",
+       "desc": "Open Source, Distributed, RESTful Search Engine",
+       "logo": "images/7pabc2kl40gb6yep.png",
+       "project": "https://github.com/elastic/elasticsearch",
+       "website": "https://www.elastic.co/products/elasticsearch",
+       "category": "framework",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=7pabc2kl40gb6yep",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Generator Alfresco",
+       "desc": "A Yeoman generator for Open-source content management",
+       "logo": "images/zia672875qiibfzv.png",
+       "project": "https://github.com/binduwavell/generator-alfresco",
+       "website": "http://www.alfresco.com/",
+       "category": "framework",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=zia672875qiibfzv",
+       "languages": [
+            "javascript"
+
+        ]
+     },
+     {
+       "name": "ISTEX",
+       "desc": "API demo for the French digital scientific library",
+       "logo": "images/xc7ga4dx6qrgb8ii.png",
+       "project": "https://github.com/istex/istex-api-demo",
+       "website": "http://www.istex.fr",
+       "category": "framework",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=xc7ga4dx6qrgb8ii",
+       "languages": [
+            "javascript"
+
+        ]
+     },
+     {
+       "name": "ISTEX",
+       "desc": "API mock for the French digital scientific library",
+       "logo": "images/ir9mnlkdt6hxm0z9.png",
+       "project": "https://github.com/istex/istex-api-faker",
+       "website": "http://www.istex.fr",
+       "category": "framework",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=ir9mnlkdt6hxm0z9",
+       "languages": [
+            "javascript"
+
+        ]
+     },
+     {
+       "name": "Java + Gradle",
+       "desc": "Hello world console app with auto-build and run",
+       "logo": "images/5use7stej9bi9mxd.png",
+       "project": "https://github.com/che-samples/console-java-gradle.git",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=5use7stej9bi9mxd",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Java + Maven",
+       "desc": "Hello world console app with auto-build and run",
+       "logo": "images/omriatu352kkthua.png",
+       "project": "https://github.com/che-samples/console-java-simple.git",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=omriatu352kkthua",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Javaslang",
+       "desc": "A functional library for Java 8+",
+       "logo": "images/rp0k4m6gh6rzifmi.png",
+       "project": "https://github.com/javaslang/javaslang",
+       "website": "http://www.javaslang.io/",
+       "category": "framework",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=rp0k4m6gh6rzifmi",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Node.js",
+       "desc": "Hello world web app with auto-build and run",
+       "logo": "images/af9r928owfulum17.png",
+       "project": "https://github.com/che-samples/web-nodejs-simple.git",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=af9r928owfulum17",
+       "languages": [
+            "javascript"
+
+        ]
+     },
+     {
+       "name": "PHP",
+       "desc": "Hello world web app with auto-build and run",
+       "logo": "images/5ayat0naxlljn3p2.png",
+       "project": "https://github.com/che-samples/web-php-simple.git",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=5ayat0naxlljn3p2",
+       "languages": [
+            "php"
+
+        ]
+     },
+     {
+       "name": "Sourcegraph",
+       "desc": "Code Intelligence for Teams.",
+       "logo": "images/lse9alc1que84k1y.png",
+       "project": "https://src.sourcegraph.com/sourcegraph",
+       "website": "https://sourcegraph.com/",
+       "category": "framework",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=lse9alc1que84k1y",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Spring",
+       "desc": "Java Spring PetClinic web app example",
+       "logo": "images/r6p0l1sfnwm99k94.png",
+       "project": "https://github.com/che-samples/web-java-spring-petclinic.git",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=r6p0l1sfnwm99k94",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Spring Boot",
+       "desc": "Java web app example for rapid development",
+       "logo": "images/sz7uzyofb8olekkn.png",
+       "project": "https://github.com/che-samples/web-java-spring-boot.git",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=sz7uzyofb8olekkn",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Spring Rest Guide",
+       "desc": "Learn how to create a RESTful web service with Spring",
+       "logo": "images/9fq0busbm3tz7i8c.png",
+       "project": "https://github.com/spring-guides/gs-rest-service",
+       "website": "http://spring.io/guides/gs/rest-service/",
+       "category": "tutorial",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=9fq0busbm3tz7i8c",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "TomEE",
+       "desc": "JAX-RS and Angular web app sample",
+       "logo": "images/07xzbw8pq5wn02y5.png",
+       "project": "https://github.com/tomitribe/tomee-jaxrs-angular-starter-project.git",
+       "website": "http://www.tomitribe.com/",
+       "category": "samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=07xzbw8pq5wn02y5",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "TomEE",
+       "desc": "Moviefun Java sample app",
+       "logo": "images/suloomuf7cvcfghn.png",
+       "project": "https://github.com/apache/tomee",
+       "website": "http://tomee.apache.org",
+       "category": "samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=suloomuf7cvcfghn",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "TomEE",
+       "desc": "Stateless Java bean sample app",
+       "logo": "images/lemf30nh52rvsx42.png",
+       "project": "https://github.com/apache/tomee",
+       "website": "http://tomee.apache.org",
+       "category": "samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=lemf30nh52rvsx42",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Vaadin",
+       "desc": "Official address book UI demo",
+       "logo": "images/ej6koycnt4maubns.png",
+       "project": "https://github.com/vaadin/addressbook",
+       "website": "https://vaadin.com/home",
+       "category": "samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=ej6koycnt4maubns",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Vert.x verticle",
+       "desc": "Example web app for reactive applications on the JVM",
+       "logo": "images/9skz1321dxbqpj5j.png",
+       "project": "https://github.com/vert-x3/vertx-examples",
+       "website": "http://vertx.io/",
+       "category": "samples",
+       "badgedRepository": true,
+       "badgeLink": "https://github.com/vert-x3/vertx-examples",
+       "factory": "http://beta.codenvy.com/f?id=9skz1321dxbqpj5j",
+       "languages": [
+            "java"
+
+        ]
+     },
+     {
+       "name": "Wildfly",
+       "desc": "Java hello world web app example",
+       "logo": "images/gbfcsdb76f2iy1f2.png",
+       "project": "https://github.com/che-samples/web-java-wildfly.git",
+       "website": "",
+       "category": "che samples",
+       "badgedRepository": false,
+       "badgeLink": "",
+       "factory": "http://beta.codenvy.com/f?id=gbfcsdb76f2iy1f2",
+       "languages": [
+            "java"
+
+        ]
+     }
+  ]
+}
diff --git a/getting-started/scripts/factory-widget.html b/getting-started/scripts/factory-widget.html
new file mode 100644
index 0000000..564320a
--- /dev/null
+++ b/getting-started/scripts/factory-widget.html
@@ -0,0 +1,17 @@
+<div class="col-md-4 col-sm-6">
+    <div class="border media ribbon-box">
+        <div ng-if="factoryController.factory.badgedRepository" class="ribbon"><span><a href="{{factoryController.factory.badgeLink}}">BADGED</a></span></div>
+        <div class="media-left">
+            <img src="{{factoryController.factory.logo}}" alt="Logo for {{factoryController.factory.name}}">
+            <!--<i class="factory-category-{{factoryController.factory.category}} factory-info fa fa-info-circle" aria-hidden="true"></i>-->
+        </div>
+        <div class="media-body">
+            <h4>
+                <a ng-if="factoryController.factory.website" href="{{factoryController.factory.website}}">{{factoryController.factory.name}}</a>
+                <span ng-hide="factoryController.factory.website">{{factoryController.factory.name}}</span>
+            </h4>
+            <p class="small factory-desc">{{factoryController.factory.desc}}.</p>
+        </div>
+        <a href="{{factoryController.factory.factory}}" class="btn-gray80">Launch Workspace</a>
+    </div>
+</div> <!-- /.col -->