Index: trunk/sources/HeuristicLab.Services.WebApp.Status/3.3/WebApi/DataController.cs
===================================================================
--- trunk/sources/HeuristicLab.Services.WebApp.Status/3.3/WebApi/DataController.cs	(revision 12512)
+++ trunk/sources/HeuristicLab.Services.WebApp.Status/3.3/WebApi/DataController.cs	(revision 12514)
@@ -81,5 +81,5 @@
             FreeCores = onlineSlaves.Sum(s => s.FreeCores ?? 0), // temporary for old chart data
             ActiveCores = activeSlaves.Sum(s => s.Cores ?? 0),
-            CalculatingCores = calculatingSlaves.Sum(s => s.Cores ?? 0)
+            CalculatingCores = calculatingSlaves.Sum(s => s.Cores ?? 0) - calculatingSlaves.Sum(s => s.FreeCores ?? 0)
           },
           CpuUtilizationStatus = new DTO.CpuUtilizationStatus {
Index: trunk/sources/HeuristicLab.Services.WebApp/3.3/Configs/BundleConfig.cs
===================================================================
--- trunk/sources/HeuristicLab.Services.WebApp/3.3/Configs/BundleConfig.cs	(revision 12512)
+++ trunk/sources/HeuristicLab.Services.WebApp/3.3/Configs/BundleConfig.cs	(revision 12514)
@@ -99,5 +99,5 @@
       };
       PluginManager pluginManager = PluginManager.Instance;
-      foreach (var plugin in pluginManager.GetPlugins()) {
+      foreach (var plugin in pluginManager.Plugins) {
         if (File.Exists(string.Format(@"{0}\{1}\{1}.js", PluginManager.PluginsDirectory, plugin.Name))) {
           jsFiles.Add(string.Format("WebApp/plugins/{0}/{0}.js", plugin.Name));
Index: trunk/sources/HeuristicLab.Services.WebApp/3.3/Controllers/PluginController.cs
===================================================================
--- trunk/sources/HeuristicLab.Services.WebApp/3.3/Controllers/PluginController.cs	(revision 12512)
+++ trunk/sources/HeuristicLab.Services.WebApp/3.3/Controllers/PluginController.cs	(revision 12514)
@@ -34,5 +34,5 @@
 
     public IEnumerable<DTO.Plugin> GetPlugins() {
-      var plugins = pluginManager.GetPlugins();
+      var plugins = pluginManager.Plugins;
       return plugins.Select(plugin => new DTO.Plugin {
         Name = plugin.Name,
Index: trunk/sources/HeuristicLab.Services.WebApp/3.3/Global.asax
===================================================================
--- trunk/sources/HeuristicLab.Services.WebApp/3.3/Global.asax	(revision 12512)
+++ trunk/sources/HeuristicLab.Services.WebApp/3.3/Global.asax	(revision 12514)
@@ -1,1 +1,1 @@
-﻿<%@ Application Codebehind="Global.asax.cs" Inherits="HeuristicLab.Services.WebApp.MvcApplication" Language="C#" %>
+﻿<%@ Application Codebehind="Global.asax.cs" Inherits="HeuristicLab.Services.WebApp.HeuristicLabWebApp" Language="C#" %>
Index: trunk/sources/HeuristicLab.Services.WebApp/3.3/Global.asax.cs
===================================================================
--- trunk/sources/HeuristicLab.Services.WebApp/3.3/Global.asax.cs	(revision 12512)
+++ trunk/sources/HeuristicLab.Services.WebApp/3.3/Global.asax.cs	(revision 12514)
@@ -1,3 +1,24 @@
-﻿using System.Web.Http;
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Web.Http;
 using System.Web.Mvc;
 using System.Web.Optimization;
@@ -6,5 +27,5 @@
 
 namespace HeuristicLab.Services.WebApp {
-  public class MvcApplication : System.Web.HttpApplication {
+  public class HeuristicLabWebApp : System.Web.HttpApplication {
     protected void Application_Start() {
       var pluginManager = PluginManager.Instance;
Index: trunk/sources/HeuristicLab.Services.WebApp/3.3/Plugin.cs
===================================================================
--- trunk/sources/HeuristicLab.Services.WebApp/3.3/Plugin.cs	(revision 12512)
+++ trunk/sources/HeuristicLab.Services.WebApp/3.3/Plugin.cs	(revision 12514)
@@ -31,9 +31,19 @@
 namespace HeuristicLab.Services.WebApp {
   public class Plugin {
-    private HttpConfiguration configuration;
     public string Name { get; set; }
     public string Directory { get; set; }
     public string AssemblyName { get; set; }
     public DateTime? LastReload { get; set; }
+
+    private HttpConfiguration configuration;
+    public HttpConfiguration Configuration {
+      get { return configuration; }
+      set {
+        if (configuration != value) {
+          configuration = value;
+          ReloadControllers();
+        }
+      }
+    }
 
     private IDictionary<string, HttpControllerDescriptor> controllers;
@@ -42,9 +52,8 @@
     }
 
-    public void Configure(HttpConfiguration configuration) {
-      if (this.configuration != configuration) {
-        this.configuration = configuration;
-        ReloadControllers();
-      }
+    public Plugin(string name, string directory, HttpConfiguration configuration) {
+      Name = name;
+      Directory = directory;
+      Configuration = configuration;
     }
 
Index: trunk/sources/HeuristicLab.Services.WebApp/3.3/PluginManager.cs
===================================================================
--- trunk/sources/HeuristicLab.Services.WebApp/3.3/PluginManager.cs	(revision 12512)
+++ trunk/sources/HeuristicLab.Services.WebApp/3.3/PluginManager.cs	(revision 12514)
@@ -38,4 +38,8 @@
     public HttpConfiguration Configuration { get; set; }
 
+    public IEnumerable<Plugin> Plugins {
+      get { return plugins.Values; }
+    }
+
     public static string PluginsDirectory {
       get { return string.Format(@"{0}WebApp\plugins", HttpRuntime.AppDomainAppPath); }
@@ -56,5 +60,5 @@
     private void OnFilesChanged(object sender, FileSystemEventArgs args) {
       string path = args.FullPath.Remove(0, PluginsDirectory.Length + 1);
-      var pathParts = path.Split('\\');
+      var pathParts = path.Split(Path.PathSeparator);
       string pluginName = pathParts[0];
       if (pathParts.Length == 1) {
@@ -71,5 +75,5 @@
             RenamedEventArgs renamedArgs = (RenamedEventArgs)args;
             string oldPath = renamedArgs.OldFullPath.Remove(0, PluginsDirectory.Length + 1);
-            var oldPathParts = oldPath.Split('\\');
+            var oldPathParts = oldPath.Split(Path.PathSeparator);
             string oldPluginName = oldPathParts[0];
             plugins.Remove(oldPluginName);
@@ -92,9 +96,5 @@
         string directory = string.Format(@"{0}\{1}", PluginsDirectory, name);
         if (Directory.Exists(directory)) {
-          plugin = new Plugin {
-            Name = name,
-            Directory = directory
-          };
-          plugin.Configure(Configuration);
+          plugin = new Plugin(name, directory, Configuration);
           plugins.Add(name, plugin);
         }
@@ -113,9 +113,5 @@
         Plugin plugin = LookupPlugin(pluginName);
         if (plugin == null) {
-          plugin = new Plugin {
-            Name = pluginName,
-            Directory = directory
-          };
-          plugin.Configure(Configuration);
+          plugin = new Plugin(pluginName, directory, Configuration);
           plugins.Add(pluginName, plugin);
         }
Index: trunk/sources/HeuristicLab.Services.WebApp/3.3/WebApp/app.css
===================================================================
--- trunk/sources/HeuristicLab.Services.WebApp/3.3/WebApp/app.css	(revision 12512)
+++ trunk/sources/HeuristicLab.Services.WebApp/3.3/WebApp/app.css	(revision 12514)
@@ -3,8 +3,4 @@
      -moz-border-radius: 0 !important;
           border-radius: 0 !important;
-    /* -webkit-box-shadow: none !important;
-        -moz-box-shadow: none !important;
-          -o-box-shadow: none !important;
-             box-shadow: none !important;*/
   font-family: "Open Sans", Helvetica, Arial, sans-serif;
 }
Index: trunk/sources/HeuristicLab.Services.WebApp/3.3/WebApp/shared/layout/layout.cshtml
===================================================================
--- trunk/sources/HeuristicLab.Services.WebApp/3.3/WebApp/shared/layout/layout.cshtml	(revision 12512)
+++ trunk/sources/HeuristicLab.Services.WebApp/3.3/WebApp/shared/layout/layout.cshtml	(revision 12514)
@@ -96,4 +96,9 @@
     </section>
 </div>
+<script type="text/javascript">
+$('.navbar-collapse').on('click', 'li a', function () {
+    $('.navbar-collapse').collapse('hide');
+});
+</script>
 </body>
 </html>
Index: trunk/sources/HeuristicLab.Services.WebApp/3.3/WebApp/shared/menu/menu.cshtml
===================================================================
--- trunk/sources/HeuristicLab.Services.WebApp/3.3/WebApp/shared/menu/menu.cshtml	(revision 12512)
+++ trunk/sources/HeuristicLab.Services.WebApp/3.3/WebApp/shared/menu/menu.cshtml	(revision 12514)
@@ -1,5 +1,4 @@
 ﻿<li ng-repeat="section in entries" ng-class="{'category':section.isCategory === true, 'active': isActive(section.route)}">
-    <a ng-href="{{section.route}}" ng-if="!section.isCategory"
-       data-toggle="collapse" data-target="#menu .navbar-collapse">
+    <a ng-href="{{section.route}}" ng-if="!section.isCategory">
         <span ng-if="section.icon != ''" ng-class="section.icon" style="padding-right: 10px;"></span>
         <span>{{section.name}}</span>
