Index: branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Account/LogOn.cshtml
===================================================================
--- branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Account/LogOn.cshtml	(revision 9166)
+++ branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Account/LogOn.cshtml	(revision 9215)
@@ -14,6 +14,5 @@
 
 @Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.")
-
-@using (Html.BeginForm("LogOn", "Account", FormMethod.Post, new { @class = "hl-signon-form" })) {
+@using (Html.BeginForm("LogOn", "Account", new { ReturnUrl = Request.QueryString["ReturnUrl"] }, FormMethod.Post, new { @class ="hl-signon-form" })) {
         <fieldset>
             <legend>Account Information</legend>
Index: branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Experiment/Edit.cshtml
===================================================================
--- branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Experiment/Edit.cshtml	(revision 9215)
+++ branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Experiment/Edit.cshtml	(revision 9215)
@@ -0,0 +1,21 @@
+﻿@model HeuristicLab.Services.Optimization.Web.Models.ExperimentViewModel
+
+@{
+    ViewBag.Title = "Edit";
+}
+
+<h2>Edit your experiments</h2>
+
+<ul>
+@foreach (var exp in Model.Experiments) {
+   <li>@Html.ActionLink("Delete " + exp, "DeleteExperiment", new { experiment = exp })</li>
+}
+</ul>
+
+@section submenu {
+    <ul>
+        <li>@Html.ActionLink("Build", "Index")</li>    
+        <li class="selected">@Html.ActionLink("Edit", "Edit")</li>
+        <li>@Html.ActionLink("Status", "Index", "Status")</li>
+    </ul>
+}
Index: branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Experiment/Index.cshtml
===================================================================
--- branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Experiment/Index.cshtml	(revision 9215)
+++ branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Experiment/Index.cshtml	(revision 9215)
@@ -0,0 +1,66 @@
+﻿@model HeuristicLab.Services.Optimization.Web.Models.ExperimentViewModel
+
+@{
+    ViewBag.Title = "Experiments";
+}
+
+<h2>Build your experiment:</h2>
+@using (Html.BeginForm("SaveExperiment", "Experiment"))
+{
+  <fieldset>
+    <legend>Create Template Experiment:</legend>
+    
+    <div class="editor-label">
+      <label for="name">Experiment Template Name:</label>
+    </div>
+
+    <div class="editor-field">
+      <input id="name" name="Name" type="text" value="My Experiment" />
+    </div>
+
+    <div>
+    <p>Experiment Tree:</p>
+    </div>
+
+    <div id="container" class="treeStyle">
+      <ul>
+        <li id="root">Experiment</li>
+      </ul>
+    </div>
+    <input style="margin-top:5px;"  name="RemoveNode" type="button" value="Remove" disabled="disabled" />
+
+    <div id="scenarios">
+    @if (Model.Scenarios.Count > 0) {
+        <p>Choose an algorithm:</p>
+        foreach (var scen in Model.Scenarios) {
+            <div class="dragables" id="@scen"><p>@scen</p></div>
+        }        
+        
+    }
+        <div class="clearer"/>
+    </div>
+    
+    <div id="experiments">
+    @if (Model.Scenarios.Count > 0) {
+        <p>Choose from your stored experiments:</p>
+        foreach (var scen in Model.Experiments) {
+            <div class="dragables" id="@scen"><p>@scen</p></div>
+        }       
+        
+    }   
+        <div class="clearer"/> 
+    </div>
+    <input type="submit" value="Save experiment" class="submitter" />
+    <img src="@Url.Content("~/Content/hl/images/ajax-loader.gif")" alt="Loading animation" class="loader unseen" />
+  </fieldset>
+    <div><p id="jsonMessage"></p></div>
+}
+
+
+@section submenu {
+    <ul>
+        <li class="selected">@Html.ActionLink("Build", "Index")</li>    
+        <li>@Html.ActionLink("Edit", "Edit")</li>
+        <li>@Html.ActionLink("Status", "Index", "Status")</li>
+    </ul>
+}
Index: branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Shared/DisplayTemplates/InputParameters.cshtml
===================================================================
--- branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Shared/DisplayTemplates/InputParameters.cshtml	(revision 9166)
+++ 	(revision )
@@ -1,10 +1,0 @@
-﻿@model HeuristicLab.Services.Optimization.ControllerService.Model.InputParameters
-
-@foreach (var itm in Model.Items) {
-    <div class="editor-label param-input">
-        @Html.Label(itm.Value.Name, itm.Value.Name)
-    </div>
-    <div class="editor-label">
-        @Html.DisplayFor(model => itm.Value)
-    </div>
-}
Index: branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Shared/EditorTemplates/InputParameters.cshtml
===================================================================
--- branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Shared/EditorTemplates/InputParameters.cshtml	(revision 9166)
+++ 	(revision )
@@ -1,10 +1,0 @@
-﻿@model HeuristicLab.Services.Optimization.ControllerService.Model.InputParameters
-
-@foreach (var itm in Model.Items) {
-    <div class="editor-label">
-        @Html.Label(itm.Value.Name, itm.Value.Name)
-    </div>
-    <div class="editor-field">
-        @Html.EditorFor(model => itm.Value)
-    </div>
-}
Index: branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Shared/_Layout.cshtml
===================================================================
--- branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Shared/_Layout.cshtml	(revision 9166)
+++ branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Shared/_Layout.cshtml	(revision 9215)
@@ -26,4 +26,8 @@
     <script type="text/javascript" src="@Url.Content("~/Content/jqplot/src/plugins/jqplot.donutRenderer.js")"></script>
     <script type="text/javascript" src="@Url.Content("~/Content/jqplot/src/plugins/jqplot.cursor.js")"></script>
+
+    <link href="@Url.Content("~/Content/dynatree/src/skin/ui.dynatree.css")" rel="stylesheet" type="text/css" />
+    <script type="text/javascript" src="@Url.Content("~/Content/dynatree/dist/jquery.dynatree.min.js")"></script>
+    <script type="text/javascript" src="@Url.Content("~/Content/ExperimentSupport.js")"></script>
 </head>
 <body>
@@ -40,6 +44,7 @@
         <div id="master-mainmenu">
             <ul id="menu">
-                <li>@Html.ActionLink("Admin", "Index", "Admin")</li>
                 <li>@Html.ActionLink("Home", "Index", "Home")</li>
+                <li>@Html.ActionLink("Experiment", "Index", "Experiment")</li>                
+                <li>@Html.ActionLink("Admin", "Index", "Admin")</li>                
                 <li>@Html.ActionLink("About", "About", "Home")</li>
             </ul>
@@ -47,5 +52,7 @@
         
         <div id="master-main">
-            <div id="master-submenu"/>
+            <div id="master-submenu">
+                @RenderSection("submenu", required: false)
+            </div>
             <div id="master-MainContent">                
                 @RenderBody()                
Index: branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Status/Index.cshtml
===================================================================
--- branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Status/Index.cshtml	(revision 9215)
+++ branches/OaaS/HeuristicLab.Services.Optimization.Web/Views/Status/Index.cshtml	(revision 9215)
@@ -0,0 +1,109 @@
+﻿@model HeuristicLab.Services.Optimization.Web.Models.StatusModel
+
+@{
+    ViewBag.Title = "Job Status";
+}
+
+<script type="text/javascript">
+    function convertTaskToNode(task) {
+        var currentTask = { title: task.General.Name, tooltip: task.General.Id };
+        var children = [];
+        for (var i = 0; i < task.Children.length; i++) {
+            var node = convertTaskToNode(task.Children[i]);
+            children.push(node);
+        }
+        if (children.length > 0)
+            currentTask["children"] = children;
+        return currentTask;
+    }
+
+    function convertTaskDataToNodes(taskData) {
+        var children = [];
+        for (var i = 0; i < taskData.Tasks.length; i++) {
+            var node = convertTaskToNode(taskData.Tasks[i]);
+            children.push(node);
+        }
+        return children;
+    }
+
+    function updateTree(jobId) {
+        $.ajax({
+            type: "GET",
+            url: '/Status/GetTasks',
+            data: { jobId: jobId },
+            contentType: "application/json; charset=utf-8",
+            dataType: "json",
+            success: function (result) {
+                var rootNode = $("#container").dynatree("getRoot");
+                rootNode.removeChildren();
+                var children = convertTaskDataToNodes(result);
+                for (var i = 0; i < children.length; i++)
+                    rootNode.addChild(children[i]);
+            }
+        });
+    }
+
+    function updateJobDetails(details) {
+        $('#details').empty();
+        var props = details.General.Properties;
+        for (var i = 0; i < props.length; i++) {
+            $("<p></p>").text(props[i].Key + ": " + props[i].Value).appendTo('#details');
+        }
+
+        $("<p></p>").text("Task state: " + details.State.State).appendTo('#details');
+        $("<p></p>").text("Date created: " + details.State.DateCreated).appendTo('#details');
+        $("<p></p>").text("Date finished: " + details.State.DateFinished).appendTo('#details');
+        $("<p></p>").text("Execution Time: " + details.State.ExecutionTime).appendTo('#details');
+    }
+
+    function updateDetails(taskId) {
+        var jobId = $('.selectedJob').attr("href").substr(1);
+        $.ajax({
+            type: "GET",
+            url: '/Status/GetTaskData',
+            data: { jobId: jobId, taskId: taskId },
+            contentType: "application/json; charset=utf-8",
+            dataType: "json",
+            success: updateJobDetails
+        });
+    }
+
+    $(document).ready(function () {
+        var tree = $('#container').dynatree({
+            onActivate: function (node) {
+                updateDetails(node.data.tooltip);
+            }
+        });  // no special tree required
+        $('a[class="JobRef"]').click(function (e) {
+            $('a[class="JobRef"]').removeClass("selectedJob");
+            $(this).addClass("selectedJob");
+            updateTree($(this).attr("href").substr(1));
+        });
+    });
+  
+</script>
+
+<h2>Job-Status</h2>
+
+@for (var i = 0; i < Model.Jobs.Count; i++ ) {
+    var jobId = "#" + Model.Jobs[i].Id;
+    <a href="@jobId"  class="JobRef">Details Job @i</a>
+}
+
+
+<div id="container" class="treeStyle">
+  <ul>
+  </ul>
+</div>
+
+<div id="details">
+  <p>-</p>
+</div>
+
+@section submenu {
+    <ul>
+        <li>@Html.ActionLink("Build", "Index")</li>    
+        <li>@Html.ActionLink("Edit", "Edit")</li>
+        <li class="selected">@Html.ActionLink("Status", "Index", "Status")</li>
+    </ul>
+}
