Index: stable/HeuristicLab.Clients.Access/3.3/ServiceClients/AccessServiceClient.cs
===================================================================
--- stable/HeuristicLab.Clients.Access/3.3/ServiceClients/AccessServiceClient.cs	(revision 15260)
+++ stable/HeuristicLab.Clients.Access/3.3/ServiceClients/AccessServiceClient.cs	(revision 15261)
@@ -2,5 +2,5 @@
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:4.0.30319.544
+//     Runtime Version:4.0.30319.42000
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
@@ -9,1510 +9,1822 @@
 //------------------------------------------------------------------------------
 
-namespace HeuristicLab.Clients.Access {
-
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "AccessItem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
-      "")]
-  [System.SerializableAttribute()]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Role))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientError))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Resource))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Client))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientConfiguration))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientType))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Country))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.OperatingSystem))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientGroup))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientLog))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.UserGroupBase))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.User))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.UserGroup))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.LightweightUser))]
-  public partial class AccessItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    [System.NonSerializedAttribute()]
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "Role", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
-      "")]
-  [System.SerializableAttribute()]
-  public partial class Role : HeuristicLab.Clients.Access.AccessItem {
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string NameField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ClientError", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
-      "")]
-  [System.SerializableAttribute()]
-  public partial class ClientError : HeuristicLab.Clients.Access.AccessItem {
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Guid ClientIdField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string ConfigDumpField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string ExceptionField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Guid IdField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.DateTime TimestampField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string UserCommentField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Guid UserIdField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid ClientId {
-      get {
-        return this.ClientIdField;
-      }
-      set {
-        if ((this.ClientIdField.Equals(value) != true)) {
-          this.ClientIdField = value;
-          this.RaisePropertyChanged("ClientId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string ConfigDump {
-      get {
-        return this.ConfigDumpField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ConfigDumpField, value) != true)) {
-          this.ConfigDumpField = value;
-          this.RaisePropertyChanged("ConfigDump");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Exception {
-      get {
-        return this.ExceptionField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ExceptionField, value) != true)) {
-          this.ExceptionField = value;
-          this.RaisePropertyChanged("Exception");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.DateTime Timestamp {
-      get {
-        return this.TimestampField;
-      }
-      set {
-        if ((this.TimestampField.Equals(value) != true)) {
-          this.TimestampField = value;
-          this.RaisePropertyChanged("Timestamp");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string UserComment {
-      get {
-        return this.UserCommentField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.UserCommentField, value) != true)) {
-          this.UserCommentField = value;
-          this.RaisePropertyChanged("UserComment");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid UserId {
-      get {
-        return this.UserIdField;
-      }
-      set {
-        if ((this.UserIdField.Equals(value) != true)) {
-          this.UserIdField = value;
-          this.RaisePropertyChanged("UserId");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "Resource", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
-      "")]
-  [System.SerializableAttribute()]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Client))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientGroup))]
-  public partial class Resource : HeuristicLab.Clients.Access.AccessItem {
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string DescriptionField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Guid IdField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string NameField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Description {
-      get {
-        return this.DescriptionField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
-          this.DescriptionField = value;
-          this.RaisePropertyChanged("Description");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "Client", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
-      "")]
-  [System.SerializableAttribute()]
-  public partial class Client : HeuristicLab.Clients.Access.Resource {
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private HeuristicLab.Clients.Access.ClientConfiguration ClientConfigurationField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private HeuristicLab.Clients.Access.ClientType ClientTypeField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private HeuristicLab.Clients.Access.Country CountryField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string HeuristicLabVersionField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private int MemorySizeField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private int NumberOfCoresField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private HeuristicLab.Clients.Access.OperatingSystem OperatingSystemField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private double PerformanceValueField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string ProcessorTypeField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.DateTime TimestampField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public HeuristicLab.Clients.Access.ClientConfiguration ClientConfiguration {
-      get {
-        return this.ClientConfigurationField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ClientConfigurationField, value) != true)) {
-          this.ClientConfigurationField = value;
-          this.RaisePropertyChanged("ClientConfiguration");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public HeuristicLab.Clients.Access.ClientType ClientType {
-      get {
-        return this.ClientTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ClientTypeField, value) != true)) {
-          this.ClientTypeField = value;
-          this.RaisePropertyChanged("ClientType");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public HeuristicLab.Clients.Access.Country Country {
-      get {
-        return this.CountryField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.CountryField, value) != true)) {
-          this.CountryField = value;
-          this.RaisePropertyChanged("Country");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string HeuristicLabVersion {
-      get {
-        return this.HeuristicLabVersionField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.HeuristicLabVersionField, value) != true)) {
-          this.HeuristicLabVersionField = value;
-          this.RaisePropertyChanged("HeuristicLabVersion");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public int MemorySize {
-      get {
-        return this.MemorySizeField;
-      }
-      set {
-        if ((this.MemorySizeField.Equals(value) != true)) {
-          this.MemorySizeField = value;
-          this.RaisePropertyChanged("MemorySize");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public int NumberOfCores {
-      get {
-        return this.NumberOfCoresField;
-      }
-      set {
-        if ((this.NumberOfCoresField.Equals(value) != true)) {
-          this.NumberOfCoresField = value;
-          this.RaisePropertyChanged("NumberOfCores");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public HeuristicLab.Clients.Access.OperatingSystem OperatingSystem {
-      get {
-        return this.OperatingSystemField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.OperatingSystemField, value) != true)) {
-          this.OperatingSystemField = value;
-          this.RaisePropertyChanged("OperatingSystem");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public double PerformanceValue {
-      get {
-        return this.PerformanceValueField;
-      }
-      set {
-        if ((this.PerformanceValueField.Equals(value) != true)) {
-          this.PerformanceValueField = value;
-          this.RaisePropertyChanged("PerformanceValue");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string ProcessorType {
-      get {
-        return this.ProcessorTypeField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.ProcessorTypeField, value) != true)) {
-          this.ProcessorTypeField = value;
-          this.RaisePropertyChanged("ProcessorType");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.DateTime Timestamp {
-      get {
-        return this.TimestampField;
-      }
-      set {
-        if ((this.TimestampField.Equals(value) != true)) {
-          this.TimestampField = value;
-          this.RaisePropertyChanged("Timestamp");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ClientConfiguration", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
-      "")]
-  [System.SerializableAttribute()]
-  public partial class ClientConfiguration : HeuristicLab.Clients.Access.AccessItem {
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string DescriptionField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string HashField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Guid IdField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Description {
-      get {
-        return this.DescriptionField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
-          this.DescriptionField = value;
-          this.RaisePropertyChanged("Description");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Hash {
-      get {
-        return this.HashField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.HashField, value) != true)) {
-          this.HashField = value;
-          this.RaisePropertyChanged("Hash");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ClientType", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
-      "")]
-  [System.SerializableAttribute()]
-  public partial class ClientType : HeuristicLab.Clients.Access.AccessItem {
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Guid IdField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string NameField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "Country", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
-      "")]
-  [System.SerializableAttribute()]
-  public partial class Country : HeuristicLab.Clients.Access.AccessItem {
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Guid IdField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string NameField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "OperatingSystem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
-      "")]
-  [System.SerializableAttribute()]
-  public partial class OperatingSystem : HeuristicLab.Clients.Access.AccessItem {
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Guid IdField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string NameField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ClientGroup", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
-      "")]
-  [System.SerializableAttribute()]
-  public partial class ClientGroup : HeuristicLab.Clients.Access.Resource {
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ClientLog", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
-      "")]
-  [System.SerializableAttribute()]
-  public partial class ClientLog : HeuristicLab.Clients.Access.AccessItem {
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string MessageField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Guid ResourceIdField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.DateTime TimestampField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Message {
-      get {
-        return this.MessageField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.MessageField, value) != true)) {
-          this.MessageField = value;
-          this.RaisePropertyChanged("Message");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid ResourceId {
-      get {
-        return this.ResourceIdField;
-      }
-      set {
-        if ((this.ResourceIdField.Equals(value) != true)) {
-          this.ResourceIdField = value;
-          this.RaisePropertyChanged("ResourceId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.DateTime Timestamp {
-      get {
-        return this.TimestampField;
-      }
-      set {
-        if ((this.TimestampField.Equals(value) != true)) {
-          this.TimestampField = value;
-          this.RaisePropertyChanged("Timestamp");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "UserGroupBase", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
-      "")]
-  [System.SerializableAttribute()]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.User))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.UserGroup))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.LightweightUser))]
-  public partial class UserGroupBase : HeuristicLab.Clients.Access.AccessItem {
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Guid IdField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "User", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
-      "")]
-  [System.SerializableAttribute()]
-  public partial class User : HeuristicLab.Clients.Access.UserGroupBase {
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string CommentField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.DateTime CreationDateField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string EmailField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string FullNameField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private bool IsApprovedField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.DateTime LastActivityDateField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.DateTime LastLoginDateField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.DateTime LastPasswordChangedDateField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string UserNameField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Comment {
-      get {
-        return this.CommentField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.CommentField, value) != true)) {
-          this.CommentField = value;
-          this.RaisePropertyChanged("Comment");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.DateTime CreationDate {
-      get {
-        return this.CreationDateField;
-      }
-      set {
-        if ((this.CreationDateField.Equals(value) != true)) {
-          this.CreationDateField = value;
-          this.RaisePropertyChanged("CreationDate");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Email {
-      get {
-        return this.EmailField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.EmailField, value) != true)) {
-          this.EmailField = value;
-          this.RaisePropertyChanged("Email");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string FullName {
-      get {
-        return this.FullNameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.FullNameField, value) != true)) {
-          this.FullNameField = value;
-          this.RaisePropertyChanged("FullName");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public bool IsApproved {
-      get {
-        return this.IsApprovedField;
-      }
-      set {
-        if ((this.IsApprovedField.Equals(value) != true)) {
-          this.IsApprovedField = value;
-          this.RaisePropertyChanged("IsApproved");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.DateTime LastActivityDate {
-      get {
-        return this.LastActivityDateField;
-      }
-      set {
-        if ((this.LastActivityDateField.Equals(value) != true)) {
-          this.LastActivityDateField = value;
-          this.RaisePropertyChanged("LastActivityDate");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.DateTime LastLoginDate {
-      get {
-        return this.LastLoginDateField;
-      }
-      set {
-        if ((this.LastLoginDateField.Equals(value) != true)) {
-          this.LastLoginDateField = value;
-          this.RaisePropertyChanged("LastLoginDate");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.DateTime LastPasswordChangedDate {
-      get {
-        return this.LastPasswordChangedDateField;
-      }
-      set {
-        if ((this.LastPasswordChangedDateField.Equals(value) != true)) {
-          this.LastPasswordChangedDateField = value;
-          this.RaisePropertyChanged("LastPasswordChangedDate");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string UserName {
-      get {
-        return this.UserNameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.UserNameField, value) != true)) {
-          this.UserNameField = value;
-          this.RaisePropertyChanged("UserName");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "UserGroup", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
-      "")]
-  [System.SerializableAttribute()]
-  public partial class UserGroup : HeuristicLab.Clients.Access.UserGroupBase {
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string NameField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "LightweightUser", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
-      "")]
-  [System.SerializableAttribute()]
-  public partial class LightweightUser : HeuristicLab.Clients.Access.UserGroupBase {
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string EMailField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string FullNameField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GroupsField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> RolesField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private string UserNameField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string EMail {
-      get {
-        return this.EMailField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.EMailField, value) != true)) {
-          this.EMailField = value;
-          this.RaisePropertyChanged("EMail");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string FullName {
-      get {
-        return this.FullNameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.FullNameField, value) != true)) {
-          this.FullNameField = value;
-          this.RaisePropertyChanged("FullName");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> Groups {
-      get {
-        return this.GroupsField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.GroupsField, value) != true)) {
-          this.GroupsField = value;
-          this.RaisePropertyChanged("Groups");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> Roles {
-      get {
-        return this.RolesField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.RolesField, value) != true)) {
-          this.RolesField = value;
-          this.RaisePropertyChanged("Roles");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string UserName {
-      get {
-        return this.UserNameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.UserNameField, value) != true)) {
-          this.UserNameField = value;
-          this.RaisePropertyChanged("UserName");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "UserGroupMapping", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
-      "")]
-  [System.SerializableAttribute()]
-  public partial class UserGroupMapping : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    [System.NonSerializedAttribute()]
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Guid ChildField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Guid ParentField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid Child {
-      get {
-        return this.ChildField;
-      }
-      set {
-        if ((this.ChildField.Equals(value) != true)) {
-          this.ChildField = value;
-          this.RaisePropertyChanged("Child");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid Parent {
-      get {
-        return this.ParentField;
-      }
-      set {
-        if ((this.ParentField.Equals(value) != true)) {
-          this.ParentField = value;
-          this.RaisePropertyChanged("Parent");
-        }
-      }
-    }
-
-    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
-
-    protected void RaisePropertyChanged(string propertyName) {
-      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
-      if ((propertyChanged != null)) {
-        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ClientGroupMapping", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
-      "")]
-  [System.SerializableAttribute()]
-  public partial class ClientGroupMapping : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    [System.NonSerializedAttribute()]
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Guid ChildField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Guid ParentField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid Child {
-      get {
-        return this.ChildField;
-      }
-      set {
-        if ((this.ChildField.Equals(value) != true)) {
-          this.ChildField = value;
-          this.RaisePropertyChanged("Child");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid Parent {
-      get {
-        return this.ParentField;
-      }
-      set {
-        if ((this.ParentField.Equals(value) != true)) {
-          this.ParentField = value;
-          this.RaisePropertyChanged("Parent");
-        }
-      }
-    }
-
-    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
-
-    protected void RaisePropertyChanged(string propertyName) {
-      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
-      if ((propertyChanged != null)) {
-        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
-      }
-    }
-  }
-
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  [System.ServiceModel.ServiceContractAttribute(ConfigurationName = "HeuristicLab.Clients.Access.IAccessService")]
-  public interface IAccessService {
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/AddUserGroupBaseToGroup", ReplyAction = "http://tempuri.org/IAccessService/AddUserGroupBaseToGroupResponse")]
-    void AddUserGroupBaseToGroup(HeuristicLab.Clients.Access.UserGroupBase resource, HeuristicLab.Clients.Access.UserGroup group);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/RemoveUserGroupBaseFromGroup", ReplyAction = "http://tempuri.org/IAccessService/RemoveUserGroupBaseFromGroupResponse")]
-    void RemoveUserGroupBaseFromGroup(HeuristicLab.Clients.Access.UserGroupBase resource, HeuristicLab.Clients.Access.UserGroup group);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetUsersAndGroups", ReplyAction = "http://tempuri.org/IAccessService/GetUsersAndGroupsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupBase> GetUsersAndGroups();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetAllLeightweightUsersAndGroups", ReplyAction = "http://tempuri.org/IAccessService/GetAllLeightweightUsersAndGroupsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupBase> GetAllLeightweightUsersAndGroups();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetLeightweightUsersAndGroups", ReplyAction = "http://tempuri.org/IAccessService/GetLeightweightUsersAndGroupsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupBase> GetLeightweightUsersAndGroups(System.Collections.Generic.List<System.Guid> ids);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetUserGroupMapping", ReplyAction = "http://tempuri.org/IAccessService/GetUserGroupMappingResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupMapping> GetUserGroupMapping();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetUserGroupIdsOfGroup", ReplyAction = "http://tempuri.org/IAccessService/GetUserGroupIdsOfGroupResponse")]
-    System.Collections.Generic.List<System.Guid> GetUserGroupIdsOfGroup(System.Guid groupId);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetRoles", ReplyAction = "http://tempuri.org/IAccessService/GetRolesResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> GetRoles();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/AddRole", ReplyAction = "http://tempuri.org/IAccessService/AddRoleResponse")]
-    HeuristicLab.Clients.Access.Role AddRole(HeuristicLab.Clients.Access.Role role);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/DeleteRole", ReplyAction = "http://tempuri.org/IAccessService/DeleteRoleResponse")]
-    void DeleteRole(HeuristicLab.Clients.Access.Role role);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetUserRoles", ReplyAction = "http://tempuri.org/IAccessService/GetUserRolesResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> GetUserRoles(HeuristicLab.Clients.Access.User user);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/AddRoleToGroup", ReplyAction = "http://tempuri.org/IAccessService/AddRoleToGroupResponse")]
-    void AddRoleToGroup(HeuristicLab.Clients.Access.UserGroup userGroup, HeuristicLab.Clients.Access.Role role);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/RemoveRoleFromGroup", ReplyAction = "http://tempuri.org/IAccessService/RemoveRoleFromGroupResponse")]
-    void RemoveRoleFromGroup(HeuristicLab.Clients.Access.UserGroup userGroup, HeuristicLab.Clients.Access.Role role);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/ReportError", ReplyAction = "http://tempuri.org/IAccessService/ReportErrorResponse")]
-    void ReportError(HeuristicLab.Clients.Access.ClientError error);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetClientErrors", ReplyAction = "http://tempuri.org/IAccessService/GetClientErrorsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientError> GetClientErrors();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetLastClientErrors", ReplyAction = "http://tempuri.org/IAccessService/GetLastClientErrorsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientError> GetLastClientErrors(System.DateTime startDate);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/DeleteError", ReplyAction = "http://tempuri.org/IAccessService/DeleteErrorResponse")]
-    void DeleteError(HeuristicLab.Clients.Access.ClientError error);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/ClientExists", ReplyAction = "http://tempuri.org/IAccessService/ClientExistsResponse")]
-    bool ClientExists(System.Guid id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetClient", ReplyAction = "http://tempuri.org/IAccessService/GetClientResponse")]
-    HeuristicLab.Clients.Access.Client GetClient(System.Guid id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetClients", ReplyAction = "http://tempuri.org/IAccessService/GetClientsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.Client> GetClients(System.Collections.Generic.List<System.Guid> ids);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetAllClients", ReplyAction = "http://tempuri.org/IAccessService/GetAllClientsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.Client> GetAllClients();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/AddClient", ReplyAction = "http://tempuri.org/IAccessService/AddClientResponse")]
-    void AddClient(HeuristicLab.Clients.Access.Client client);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/UpdateClient", ReplyAction = "http://tempuri.org/IAccessService/UpdateClientResponse")]
-    void UpdateClient(HeuristicLab.Clients.Access.Client client);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/DeleteClient", ReplyAction = "http://tempuri.org/IAccessService/DeleteClientResponse")]
-    void DeleteClient(HeuristicLab.Clients.Access.Client client);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetAllClientGroups", ReplyAction = "http://tempuri.org/IAccessService/GetAllClientGroupsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroup> GetAllClientGroups();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetClientGroups", ReplyAction = "http://tempuri.org/IAccessService/GetClientGroupsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroup> GetClientGroups(System.Collections.Generic.List<System.Guid> ids);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/AddClientGroup", ReplyAction = "http://tempuri.org/IAccessService/AddClientGroupResponse")]
-    System.Guid AddClientGroup(HeuristicLab.Clients.Access.ClientGroup group);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/UpdateClientGroup", ReplyAction = "http://tempuri.org/IAccessService/UpdateClientGroupResponse")]
-    void UpdateClientGroup(HeuristicLab.Clients.Access.ClientGroup group);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/DeleteClientGroup", ReplyAction = "http://tempuri.org/IAccessService/DeleteClientGroupResponse")]
-    void DeleteClientGroup(HeuristicLab.Clients.Access.ClientGroup group);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/AddResourceToGroup", ReplyAction = "http://tempuri.org/IAccessService/AddResourceToGroupResponse")]
-    void AddResourceToGroup(HeuristicLab.Clients.Access.Resource resource, HeuristicLab.Clients.Access.ClientGroup group);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/RemoveResourceFromGroup", ReplyAction = "http://tempuri.org/IAccessService/RemoveResourceFromGroupResponse")]
-    void RemoveResourceFromGroup(HeuristicLab.Clients.Access.Resource resource, HeuristicLab.Clients.Access.ClientGroup group);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetClientGroupMapping", ReplyAction = "http://tempuri.org/IAccessService/GetClientGroupMappingResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroupMapping> GetClientGroupMapping();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetResources", ReplyAction = "http://tempuri.org/IAccessService/GetResourcesResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.Resource> GetResources();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetLastClientLog", ReplyAction = "http://tempuri.org/IAccessService/GetLastClientLogResponse")]
-    HeuristicLab.Clients.Access.ClientLog GetLastClientLog(System.Guid clientId);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetClientLogs", ReplyAction = "http://tempuri.org/IAccessService/GetClientLogsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientLog> GetClientLogs(System.Guid clientId);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetClientLogsSince", ReplyAction = "http://tempuri.org/IAccessService/GetClientLogsSinceResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientLog> GetClientLogsSince(System.DateTime startDate);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/AddClientLog", ReplyAction = "http://tempuri.org/IAccessService/AddClientLogResponse")]
-    void AddClientLog(HeuristicLab.Clients.Access.ClientLog log);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/DeleteClientLog", ReplyAction = "http://tempuri.org/IAccessService/DeleteClientLogResponse")]
-    void DeleteClientLog(HeuristicLab.Clients.Access.ClientLog log);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/Login", ReplyAction = "http://tempuri.org/IAccessService/LoginResponse")]
-    HeuristicLab.Clients.Access.LightweightUser Login();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetGroupsOfCurrentUser", ReplyAction = "http://tempuri.org/IAccessService/GetGroupsOfCurrentUserResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetGroupsOfCurrentUser();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetRolesOfCurrentUser", ReplyAction = "http://tempuri.org/IAccessService/GetRolesOfCurrentUserResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> GetRolesOfCurrentUser();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetAllLightweightUsers", ReplyAction = "http://tempuri.org/IAccessService/GetAllLightweightUsersResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.LightweightUser> GetAllLightweightUsers();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetLightweightUsers", ReplyAction = "http://tempuri.org/IAccessService/GetLightweightUsersResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.LightweightUser> GetLightweightUsers(System.Collections.Generic.List<System.Guid> ids);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/UpdateLightweightUser", ReplyAction = "http://tempuri.org/IAccessService/UpdateLightweightUserResponse")]
-    void UpdateLightweightUser(HeuristicLab.Clients.Access.LightweightUser user);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetAllUsers", ReplyAction = "http://tempuri.org/IAccessService/GetAllUsersResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.User> GetAllUsers();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetUsers", ReplyAction = "http://tempuri.org/IAccessService/GetUsersResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.User> GetUsers(System.Collections.Generic.List<System.Guid> ids);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/AddUser", ReplyAction = "http://tempuri.org/IAccessService/AddUserResponse")]
-    HeuristicLab.Clients.Access.User AddUser(HeuristicLab.Clients.Access.User user);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/DeleteUser", ReplyAction = "http://tempuri.org/IAccessService/DeleteUserResponse")]
-    void DeleteUser(HeuristicLab.Clients.Access.User user);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/UpdateUser", ReplyAction = "http://tempuri.org/IAccessService/UpdateUserResponse")]
-    void UpdateUser(HeuristicLab.Clients.Access.User user);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/AddUserToRole", ReplyAction = "http://tempuri.org/IAccessService/AddUserToRoleResponse")]
-    void AddUserToRole(HeuristicLab.Clients.Access.Role role, HeuristicLab.Clients.Access.User user);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/RemoveUserFromRole", ReplyAction = "http://tempuri.org/IAccessService/RemoveUserFromRoleResponse")]
-    void RemoveUserFromRole(HeuristicLab.Clients.Access.Role role, HeuristicLab.Clients.Access.User user);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/ChangePassword", ReplyAction = "http://tempuri.org/IAccessService/ChangePasswordResponse")]
-    bool ChangePassword(System.Guid userId, string oldPassword, string newPassword);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/ResetPassword", ReplyAction = "http://tempuri.org/IAccessService/ResetPasswordResponse")]
-    string ResetPassword(System.Guid userId);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetAllUserGroups", ReplyAction = "http://tempuri.org/IAccessService/GetAllUserGroupsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetAllUserGroups();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetUserGroupsOfUser", ReplyAction = "http://tempuri.org/IAccessService/GetUserGroupsOfUserResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetUserGroupsOfUser(System.Guid userId);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/GetUserGroups", ReplyAction = "http://tempuri.org/IAccessService/GetUserGroupsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetUserGroups(System.Collections.Generic.List<System.Guid> ids);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/AddUserGroup", ReplyAction = "http://tempuri.org/IAccessService/AddUserGroupResponse")]
-    System.Guid AddUserGroup(HeuristicLab.Clients.Access.UserGroup group);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/UpdateUserGroup", ReplyAction = "http://tempuri.org/IAccessService/UpdateUserGroupResponse")]
-    void UpdateUserGroup(HeuristicLab.Clients.Access.UserGroup group);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAccessService/DeleteUserGroup", ReplyAction = "http://tempuri.org/IAccessService/DeleteUserGroupResponse")]
-    void DeleteUserGroup(HeuristicLab.Clients.Access.UserGroup group);
-  }
-
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  public interface IAccessServiceChannel : HeuristicLab.Clients.Access.IAccessService, System.ServiceModel.IClientChannel {
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  public partial class AccessServiceClient : System.ServiceModel.ClientBase<HeuristicLab.Clients.Access.IAccessService>, HeuristicLab.Clients.Access.IAccessService {
-
-    public AccessServiceClient() {
-    }
-
-    public AccessServiceClient(string endpointConfigurationName) :
-      base(endpointConfigurationName) {
-    }
-
-    public AccessServiceClient(string endpointConfigurationName, string remoteAddress) :
-      base(endpointConfigurationName, remoteAddress) {
-    }
-
-    public AccessServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
-      base(endpointConfigurationName, remoteAddress) {
-    }
-
-    public AccessServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
-      base(binding, remoteAddress) {
-    }
-
-    public void AddUserGroupBaseToGroup(HeuristicLab.Clients.Access.UserGroupBase resource, HeuristicLab.Clients.Access.UserGroup group) {
-      base.Channel.AddUserGroupBaseToGroup(resource, group);
-    }
-
-    public void RemoveUserGroupBaseFromGroup(HeuristicLab.Clients.Access.UserGroupBase resource, HeuristicLab.Clients.Access.UserGroup group) {
-      base.Channel.RemoveUserGroupBaseFromGroup(resource, group);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupBase> GetUsersAndGroups() {
-      return base.Channel.GetUsersAndGroups();
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupBase> GetAllLeightweightUsersAndGroups() {
-      return base.Channel.GetAllLeightweightUsersAndGroups();
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupBase> GetLeightweightUsersAndGroups(System.Collections.Generic.List<System.Guid> ids) {
-      return base.Channel.GetLeightweightUsersAndGroups(ids);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupMapping> GetUserGroupMapping() {
-      return base.Channel.GetUserGroupMapping();
-    }
-
-    public System.Collections.Generic.List<System.Guid> GetUserGroupIdsOfGroup(System.Guid groupId) {
-      return base.Channel.GetUserGroupIdsOfGroup(groupId);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> GetRoles() {
-      return base.Channel.GetRoles();
-    }
-
-    public HeuristicLab.Clients.Access.Role AddRole(HeuristicLab.Clients.Access.Role role) {
-      return base.Channel.AddRole(role);
-    }
-
-    public void DeleteRole(HeuristicLab.Clients.Access.Role role) {
-      base.Channel.DeleteRole(role);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> GetUserRoles(HeuristicLab.Clients.Access.User user) {
-      return base.Channel.GetUserRoles(user);
-    }
-
-    public void AddRoleToGroup(HeuristicLab.Clients.Access.UserGroup userGroup, HeuristicLab.Clients.Access.Role role) {
-      base.Channel.AddRoleToGroup(userGroup, role);
-    }
-
-    public void RemoveRoleFromGroup(HeuristicLab.Clients.Access.UserGroup userGroup, HeuristicLab.Clients.Access.Role role) {
-      base.Channel.RemoveRoleFromGroup(userGroup, role);
-    }
-
-    public void ReportError(HeuristicLab.Clients.Access.ClientError error) {
-      base.Channel.ReportError(error);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientError> GetClientErrors() {
-      return base.Channel.GetClientErrors();
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientError> GetLastClientErrors(System.DateTime startDate) {
-      return base.Channel.GetLastClientErrors(startDate);
-    }
-
-    public void DeleteError(HeuristicLab.Clients.Access.ClientError error) {
-      base.Channel.DeleteError(error);
-    }
-
-    public bool ClientExists(System.Guid id) {
-      return base.Channel.ClientExists(id);
-    }
-
-    public HeuristicLab.Clients.Access.Client GetClient(System.Guid id) {
-      return base.Channel.GetClient(id);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.Client> GetClients(System.Collections.Generic.List<System.Guid> ids) {
-      return base.Channel.GetClients(ids);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.Client> GetAllClients() {
-      return base.Channel.GetAllClients();
-    }
-
-    public void AddClient(HeuristicLab.Clients.Access.Client client) {
-      base.Channel.AddClient(client);
-    }
-
-    public void UpdateClient(HeuristicLab.Clients.Access.Client client) {
-      base.Channel.UpdateClient(client);
-    }
-
-    public void DeleteClient(HeuristicLab.Clients.Access.Client client) {
-      base.Channel.DeleteClient(client);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroup> GetAllClientGroups() {
-      return base.Channel.GetAllClientGroups();
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroup> GetClientGroups(System.Collections.Generic.List<System.Guid> ids) {
-      return base.Channel.GetClientGroups(ids);
-    }
-
-    public System.Guid AddClientGroup(HeuristicLab.Clients.Access.ClientGroup group) {
-      return base.Channel.AddClientGroup(group);
-    }
-
-    public void UpdateClientGroup(HeuristicLab.Clients.Access.ClientGroup group) {
-      base.Channel.UpdateClientGroup(group);
-    }
-
-    public void DeleteClientGroup(HeuristicLab.Clients.Access.ClientGroup group) {
-      base.Channel.DeleteClientGroup(group);
-    }
-
-    public void AddResourceToGroup(HeuristicLab.Clients.Access.Resource resource, HeuristicLab.Clients.Access.ClientGroup group) {
-      base.Channel.AddResourceToGroup(resource, group);
-    }
-
-    public void RemoveResourceFromGroup(HeuristicLab.Clients.Access.Resource resource, HeuristicLab.Clients.Access.ClientGroup group) {
-      base.Channel.RemoveResourceFromGroup(resource, group);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroupMapping> GetClientGroupMapping() {
-      return base.Channel.GetClientGroupMapping();
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.Resource> GetResources() {
-      return base.Channel.GetResources();
-    }
-
-    public HeuristicLab.Clients.Access.ClientLog GetLastClientLog(System.Guid clientId) {
-      return base.Channel.GetLastClientLog(clientId);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientLog> GetClientLogs(System.Guid clientId) {
-      return base.Channel.GetClientLogs(clientId);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientLog> GetClientLogsSince(System.DateTime startDate) {
-      return base.Channel.GetClientLogsSince(startDate);
-    }
-
-    public void AddClientLog(HeuristicLab.Clients.Access.ClientLog log) {
-      base.Channel.AddClientLog(log);
-    }
-
-    public void DeleteClientLog(HeuristicLab.Clients.Access.ClientLog log) {
-      base.Channel.DeleteClientLog(log);
-    }
-
-    public HeuristicLab.Clients.Access.LightweightUser Login() {
-      return base.Channel.Login();
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetGroupsOfCurrentUser() {
-      return base.Channel.GetGroupsOfCurrentUser();
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> GetRolesOfCurrentUser() {
-      return base.Channel.GetRolesOfCurrentUser();
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.LightweightUser> GetAllLightweightUsers() {
-      return base.Channel.GetAllLightweightUsers();
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.LightweightUser> GetLightweightUsers(System.Collections.Generic.List<System.Guid> ids) {
-      return base.Channel.GetLightweightUsers(ids);
-    }
-
-    public void UpdateLightweightUser(HeuristicLab.Clients.Access.LightweightUser user) {
-      base.Channel.UpdateLightweightUser(user);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.User> GetAllUsers() {
-      return base.Channel.GetAllUsers();
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.User> GetUsers(System.Collections.Generic.List<System.Guid> ids) {
-      return base.Channel.GetUsers(ids);
-    }
-
-    public HeuristicLab.Clients.Access.User AddUser(HeuristicLab.Clients.Access.User user) {
-      return base.Channel.AddUser(user);
-    }
-
-    public void DeleteUser(HeuristicLab.Clients.Access.User user) {
-      base.Channel.DeleteUser(user);
-    }
-
-    public void UpdateUser(HeuristicLab.Clients.Access.User user) {
-      base.Channel.UpdateUser(user);
-    }
-
-    public void AddUserToRole(HeuristicLab.Clients.Access.Role role, HeuristicLab.Clients.Access.User user) {
-      base.Channel.AddUserToRole(role, user);
-    }
-
-    public void RemoveUserFromRole(HeuristicLab.Clients.Access.Role role, HeuristicLab.Clients.Access.User user) {
-      base.Channel.RemoveUserFromRole(role, user);
-    }
-
-    public bool ChangePassword(System.Guid userId, string oldPassword, string newPassword) {
-      return base.Channel.ChangePassword(userId, oldPassword, newPassword);
-    }
-
-    public string ResetPassword(System.Guid userId) {
-      return base.Channel.ResetPassword(userId);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetAllUserGroups() {
-      return base.Channel.GetAllUserGroups();
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetUserGroupsOfUser(System.Guid userId) {
-      return base.Channel.GetUserGroupsOfUser(userId);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetUserGroups(System.Collections.Generic.List<System.Guid> ids) {
-      return base.Channel.GetUserGroups(ids);
-    }
-
-    public System.Guid AddUserGroup(HeuristicLab.Clients.Access.UserGroup group) {
-      return base.Channel.AddUserGroup(group);
-    }
-
-    public void UpdateUserGroup(HeuristicLab.Clients.Access.UserGroup group) {
-      base.Channel.UpdateUserGroup(group);
-    }
-
-    public void DeleteUserGroup(HeuristicLab.Clients.Access.UserGroup group) {
-      base.Channel.DeleteUserGroup(group);
-    }
-  }
+namespace HeuristicLab.Clients.Access
+{
+    using System.Runtime.Serialization;
+    using System;
+    
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="AccessItem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+        "")]
+    [System.SerializableAttribute()]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientConfiguration))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientType))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Country))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.OperatingSystem))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientLog))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.UserGroupBase))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.LightweightUser))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.UserGroup))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Role))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.User))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientError))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Resource))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientGroup))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Client))]
+    public partial class AccessItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        [System.NonSerializedAttribute()]
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ClientConfiguration", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+        "")]
+    [System.SerializableAttribute()]
+    public partial class ClientConfiguration : HeuristicLab.Clients.Access.AccessItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string DescriptionField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string HashField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid IdField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Description
+        {
+            get
+            {
+                return this.DescriptionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
+                {
+                    this.DescriptionField = value;
+                    this.RaisePropertyChanged("Description");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Hash
+        {
+            get
+            {
+                return this.HashField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.HashField, value) != true))
+                {
+                    this.HashField = value;
+                    this.RaisePropertyChanged("Hash");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ClientType", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+        "")]
+    [System.SerializableAttribute()]
+    public partial class ClientType : HeuristicLab.Clients.Access.AccessItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid IdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Country", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+        "")]
+    [System.SerializableAttribute()]
+    public partial class Country : HeuristicLab.Clients.Access.AccessItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid IdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OperatingSystem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+        "")]
+    [System.SerializableAttribute()]
+    public partial class OperatingSystem : HeuristicLab.Clients.Access.AccessItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid IdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ClientLog", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+        "")]
+    [System.SerializableAttribute()]
+    public partial class ClientLog : HeuristicLab.Clients.Access.AccessItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string MessageField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid ResourceIdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.DateTime TimestampField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Message
+        {
+            get
+            {
+                return this.MessageField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.MessageField, value) != true))
+                {
+                    this.MessageField = value;
+                    this.RaisePropertyChanged("Message");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid ResourceId
+        {
+            get
+            {
+                return this.ResourceIdField;
+            }
+            set
+            {
+                if ((this.ResourceIdField.Equals(value) != true))
+                {
+                    this.ResourceIdField = value;
+                    this.RaisePropertyChanged("ResourceId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime Timestamp
+        {
+            get
+            {
+                return this.TimestampField;
+            }
+            set
+            {
+                if ((this.TimestampField.Equals(value) != true))
+                {
+                    this.TimestampField = value;
+                    this.RaisePropertyChanged("Timestamp");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="UserGroupBase", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+        "")]
+    [System.SerializableAttribute()]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.LightweightUser))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.UserGroup))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.User))]
+    public partial class UserGroupBase : HeuristicLab.Clients.Access.AccessItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid IdField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="LightweightUser", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+        "")]
+    [System.SerializableAttribute()]
+    public partial class LightweightUser : HeuristicLab.Clients.Access.UserGroupBase
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string EMailField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string FullNameField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GroupsField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> RolesField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string UserNameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string EMail
+        {
+            get
+            {
+                return this.EMailField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.EMailField, value) != true))
+                {
+                    this.EMailField = value;
+                    this.RaisePropertyChanged("EMail");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string FullName
+        {
+            get
+            {
+                return this.FullNameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.FullNameField, value) != true))
+                {
+                    this.FullNameField = value;
+                    this.RaisePropertyChanged("FullName");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> Groups
+        {
+            get
+            {
+                return this.GroupsField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.GroupsField, value) != true))
+                {
+                    this.GroupsField = value;
+                    this.RaisePropertyChanged("Groups");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> Roles
+        {
+            get
+            {
+                return this.RolesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.RolesField, value) != true))
+                {
+                    this.RolesField = value;
+                    this.RaisePropertyChanged("Roles");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string UserName
+        {
+            get
+            {
+                return this.UserNameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.UserNameField, value) != true))
+                {
+                    this.UserNameField = value;
+                    this.RaisePropertyChanged("UserName");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="UserGroup", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+        "")]
+    [System.SerializableAttribute()]
+    public partial class UserGroup : HeuristicLab.Clients.Access.UserGroupBase
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Role", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+        "")]
+    [System.SerializableAttribute()]
+    public partial class Role : HeuristicLab.Clients.Access.AccessItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="User", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+        "")]
+    [System.SerializableAttribute()]
+    public partial class User : HeuristicLab.Clients.Access.UserGroupBase
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string CommentField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.DateTime CreationDateField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string EmailField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string FullNameField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool IsApprovedField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.DateTime LastActivityDateField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.DateTime LastLoginDateField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.DateTime LastPasswordChangedDateField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string UserNameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Comment
+        {
+            get
+            {
+                return this.CommentField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.CommentField, value) != true))
+                {
+                    this.CommentField = value;
+                    this.RaisePropertyChanged("Comment");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime CreationDate
+        {
+            get
+            {
+                return this.CreationDateField;
+            }
+            set
+            {
+                if ((this.CreationDateField.Equals(value) != true))
+                {
+                    this.CreationDateField = value;
+                    this.RaisePropertyChanged("CreationDate");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Email
+        {
+            get
+            {
+                return this.EmailField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.EmailField, value) != true))
+                {
+                    this.EmailField = value;
+                    this.RaisePropertyChanged("Email");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string FullName
+        {
+            get
+            {
+                return this.FullNameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.FullNameField, value) != true))
+                {
+                    this.FullNameField = value;
+                    this.RaisePropertyChanged("FullName");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool IsApproved
+        {
+            get
+            {
+                return this.IsApprovedField;
+            }
+            set
+            {
+                if ((this.IsApprovedField.Equals(value) != true))
+                {
+                    this.IsApprovedField = value;
+                    this.RaisePropertyChanged("IsApproved");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime LastActivityDate
+        {
+            get
+            {
+                return this.LastActivityDateField;
+            }
+            set
+            {
+                if ((this.LastActivityDateField.Equals(value) != true))
+                {
+                    this.LastActivityDateField = value;
+                    this.RaisePropertyChanged("LastActivityDate");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime LastLoginDate
+        {
+            get
+            {
+                return this.LastLoginDateField;
+            }
+            set
+            {
+                if ((this.LastLoginDateField.Equals(value) != true))
+                {
+                    this.LastLoginDateField = value;
+                    this.RaisePropertyChanged("LastLoginDate");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime LastPasswordChangedDate
+        {
+            get
+            {
+                return this.LastPasswordChangedDateField;
+            }
+            set
+            {
+                if ((this.LastPasswordChangedDateField.Equals(value) != true))
+                {
+                    this.LastPasswordChangedDateField = value;
+                    this.RaisePropertyChanged("LastPasswordChangedDate");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string UserName
+        {
+            get
+            {
+                return this.UserNameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.UserNameField, value) != true))
+                {
+                    this.UserNameField = value;
+                    this.RaisePropertyChanged("UserName");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ClientError", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+        "")]
+    [System.SerializableAttribute()]
+    public partial class ClientError : HeuristicLab.Clients.Access.AccessItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid ClientIdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string ConfigDumpField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string ExceptionField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid IdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.DateTime TimestampField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string UserCommentField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid UserIdField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid ClientId
+        {
+            get
+            {
+                return this.ClientIdField;
+            }
+            set
+            {
+                if ((this.ClientIdField.Equals(value) != true))
+                {
+                    this.ClientIdField = value;
+                    this.RaisePropertyChanged("ClientId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string ConfigDump
+        {
+            get
+            {
+                return this.ConfigDumpField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ConfigDumpField, value) != true))
+                {
+                    this.ConfigDumpField = value;
+                    this.RaisePropertyChanged("ConfigDump");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Exception
+        {
+            get
+            {
+                return this.ExceptionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ExceptionField, value) != true))
+                {
+                    this.ExceptionField = value;
+                    this.RaisePropertyChanged("Exception");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime Timestamp
+        {
+            get
+            {
+                return this.TimestampField;
+            }
+            set
+            {
+                if ((this.TimestampField.Equals(value) != true))
+                {
+                    this.TimestampField = value;
+                    this.RaisePropertyChanged("Timestamp");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string UserComment
+        {
+            get
+            {
+                return this.UserCommentField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.UserCommentField, value) != true))
+                {
+                    this.UserCommentField = value;
+                    this.RaisePropertyChanged("UserComment");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid UserId
+        {
+            get
+            {
+                return this.UserIdField;
+            }
+            set
+            {
+                if ((this.UserIdField.Equals(value) != true))
+                {
+                    this.UserIdField = value;
+                    this.RaisePropertyChanged("UserId");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Resource", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+        "")]
+    [System.SerializableAttribute()]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.ClientGroup))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Access.Client))]
+    public partial class Resource : HeuristicLab.Clients.Access.AccessItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string DescriptionField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid IdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Description
+        {
+            get
+            {
+                return this.DescriptionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
+                {
+                    this.DescriptionField = value;
+                    this.RaisePropertyChanged("Description");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ClientGroup", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+        "")]
+    [System.SerializableAttribute()]
+    public partial class ClientGroup : HeuristicLab.Clients.Access.Resource
+    {
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Client", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+        "")]
+    [System.SerializableAttribute()]
+    public partial class Client : HeuristicLab.Clients.Access.Resource
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private HeuristicLab.Clients.Access.ClientConfiguration ClientConfigurationField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private HeuristicLab.Clients.Access.ClientType ClientTypeField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private HeuristicLab.Clients.Access.Country CountryField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string HeuristicLabVersionField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private int MemorySizeField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private int NumberOfCoresField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private HeuristicLab.Clients.Access.OperatingSystem OperatingSystemField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private double PerformanceValueField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string ProcessorTypeField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.DateTime TimestampField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.Access.ClientConfiguration ClientConfiguration
+        {
+            get
+            {
+                return this.ClientConfigurationField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ClientConfigurationField, value) != true))
+                {
+                    this.ClientConfigurationField = value;
+                    this.RaisePropertyChanged("ClientConfiguration");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.Access.ClientType ClientType
+        {
+            get
+            {
+                return this.ClientTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ClientTypeField, value) != true))
+                {
+                    this.ClientTypeField = value;
+                    this.RaisePropertyChanged("ClientType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.Access.Country Country
+        {
+            get
+            {
+                return this.CountryField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.CountryField, value) != true))
+                {
+                    this.CountryField = value;
+                    this.RaisePropertyChanged("Country");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string HeuristicLabVersion
+        {
+            get
+            {
+                return this.HeuristicLabVersionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.HeuristicLabVersionField, value) != true))
+                {
+                    this.HeuristicLabVersionField = value;
+                    this.RaisePropertyChanged("HeuristicLabVersion");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int MemorySize
+        {
+            get
+            {
+                return this.MemorySizeField;
+            }
+            set
+            {
+                if ((this.MemorySizeField.Equals(value) != true))
+                {
+                    this.MemorySizeField = value;
+                    this.RaisePropertyChanged("MemorySize");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int NumberOfCores
+        {
+            get
+            {
+                return this.NumberOfCoresField;
+            }
+            set
+            {
+                if ((this.NumberOfCoresField.Equals(value) != true))
+                {
+                    this.NumberOfCoresField = value;
+                    this.RaisePropertyChanged("NumberOfCores");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.Access.OperatingSystem OperatingSystem
+        {
+            get
+            {
+                return this.OperatingSystemField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.OperatingSystemField, value) != true))
+                {
+                    this.OperatingSystemField = value;
+                    this.RaisePropertyChanged("OperatingSystem");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public double PerformanceValue
+        {
+            get
+            {
+                return this.PerformanceValueField;
+            }
+            set
+            {
+                if ((this.PerformanceValueField.Equals(value) != true))
+                {
+                    this.PerformanceValueField = value;
+                    this.RaisePropertyChanged("PerformanceValue");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string ProcessorType
+        {
+            get
+            {
+                return this.ProcessorTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProcessorTypeField, value) != true))
+                {
+                    this.ProcessorTypeField = value;
+                    this.RaisePropertyChanged("ProcessorType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime Timestamp
+        {
+            get
+            {
+                return this.TimestampField;
+            }
+            set
+            {
+                if ((this.TimestampField.Equals(value) != true))
+                {
+                    this.TimestampField = value;
+                    this.RaisePropertyChanged("Timestamp");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ClientGroupMapping", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+        "")]
+    [System.SerializableAttribute()]
+    public partial class ClientGroupMapping : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        [System.NonSerializedAttribute()]
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid ChildField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid ParentField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid Child
+        {
+            get
+            {
+                return this.ChildField;
+            }
+            set
+            {
+                if ((this.ChildField.Equals(value) != true))
+                {
+                    this.ChildField = value;
+                    this.RaisePropertyChanged("Child");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid Parent
+        {
+            get
+            {
+                return this.ParentField;
+            }
+            set
+            {
+                if ((this.ParentField.Equals(value) != true))
+                {
+                    this.ParentField = value;
+                    this.RaisePropertyChanged("Parent");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName)
+        {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null))
+            {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="UserGroupMapping", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Access.DataTransfer" +
+        "")]
+    [System.SerializableAttribute()]
+    public partial class UserGroupMapping : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        [System.NonSerializedAttribute()]
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid ChildField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid ParentField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid Child
+        {
+            get
+            {
+                return this.ChildField;
+            }
+            set
+            {
+                if ((this.ChildField.Equals(value) != true))
+                {
+                    this.ChildField = value;
+                    this.RaisePropertyChanged("Child");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid Parent
+        {
+            get
+            {
+                return this.ParentField;
+            }
+            set
+            {
+                if ((this.ParentField.Equals(value) != true))
+                {
+                    this.ParentField = value;
+                    this.RaisePropertyChanged("Parent");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName)
+        {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null))
+            {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    [System.ServiceModel.ServiceContractAttribute(ConfigurationName="HeuristicLab.Clients.Access.IAccessService")]
+    public interface IAccessService
+    {
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/ClientExists", ReplyAction="http://tempuri.org/IAccessService/ClientExistsResponse")]
+        bool ClientExists(System.Guid id);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetClient", ReplyAction="http://tempuri.org/IAccessService/GetClientResponse")]
+        HeuristicLab.Clients.Access.Client GetClient(System.Guid id);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetClients", ReplyAction="http://tempuri.org/IAccessService/GetClientsResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.Client> GetClients(System.Collections.Generic.List<System.Guid> ids);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetAllClients", ReplyAction="http://tempuri.org/IAccessService/GetAllClientsResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.Client> GetAllClients();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddClient", ReplyAction="http://tempuri.org/IAccessService/AddClientResponse")]
+        void AddClient(HeuristicLab.Clients.Access.Client client);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/UpdateClient", ReplyAction="http://tempuri.org/IAccessService/UpdateClientResponse")]
+        void UpdateClient(HeuristicLab.Clients.Access.Client client);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteClient", ReplyAction="http://tempuri.org/IAccessService/DeleteClientResponse")]
+        void DeleteClient(HeuristicLab.Clients.Access.Client client);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetAllClientGroups", ReplyAction="http://tempuri.org/IAccessService/GetAllClientGroupsResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroup> GetAllClientGroups();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetClientGroups", ReplyAction="http://tempuri.org/IAccessService/GetClientGroupsResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroup> GetClientGroups(System.Collections.Generic.List<System.Guid> ids);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddClientGroup", ReplyAction="http://tempuri.org/IAccessService/AddClientGroupResponse")]
+        System.Guid AddClientGroup(HeuristicLab.Clients.Access.ClientGroup group);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/UpdateClientGroup", ReplyAction="http://tempuri.org/IAccessService/UpdateClientGroupResponse")]
+        void UpdateClientGroup(HeuristicLab.Clients.Access.ClientGroup group);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteClientGroup", ReplyAction="http://tempuri.org/IAccessService/DeleteClientGroupResponse")]
+        void DeleteClientGroup(HeuristicLab.Clients.Access.ClientGroup group);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddResourceToGroup", ReplyAction="http://tempuri.org/IAccessService/AddResourceToGroupResponse")]
+        void AddResourceToGroup(HeuristicLab.Clients.Access.Resource resource, HeuristicLab.Clients.Access.ClientGroup group);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/RemoveResourceFromGroup", ReplyAction="http://tempuri.org/IAccessService/RemoveResourceFromGroupResponse")]
+        void RemoveResourceFromGroup(HeuristicLab.Clients.Access.Resource resource, HeuristicLab.Clients.Access.ClientGroup group);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetClientGroupMapping", ReplyAction="http://tempuri.org/IAccessService/GetClientGroupMappingResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroupMapping> GetClientGroupMapping();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetResources", ReplyAction="http://tempuri.org/IAccessService/GetResourcesResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.Resource> GetResources();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetLastClientLog", ReplyAction="http://tempuri.org/IAccessService/GetLastClientLogResponse")]
+        HeuristicLab.Clients.Access.ClientLog GetLastClientLog(System.Guid clientId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetClientLogs", ReplyAction="http://tempuri.org/IAccessService/GetClientLogsResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientLog> GetClientLogs(System.Guid clientId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetClientLogsSince", ReplyAction="http://tempuri.org/IAccessService/GetClientLogsSinceResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientLog> GetClientLogsSince(System.DateTime startDate);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddClientLog", ReplyAction="http://tempuri.org/IAccessService/AddClientLogResponse")]
+        void AddClientLog(HeuristicLab.Clients.Access.ClientLog log);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteClientLog", ReplyAction="http://tempuri.org/IAccessService/DeleteClientLogResponse")]
+        void DeleteClientLog(HeuristicLab.Clients.Access.ClientLog log);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/Login", ReplyAction="http://tempuri.org/IAccessService/LoginResponse")]
+        HeuristicLab.Clients.Access.LightweightUser Login();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetGroupsOfCurrentUser", ReplyAction="http://tempuri.org/IAccessService/GetGroupsOfCurrentUserResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetGroupsOfCurrentUser();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetRolesOfCurrentUser", ReplyAction="http://tempuri.org/IAccessService/GetRolesOfCurrentUserResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> GetRolesOfCurrentUser();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetAllLightweightUsers", ReplyAction="http://tempuri.org/IAccessService/GetAllLightweightUsersResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.LightweightUser> GetAllLightweightUsers();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetLightweightUsers", ReplyAction="http://tempuri.org/IAccessService/GetLightweightUsersResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.LightweightUser> GetLightweightUsers(System.Collections.Generic.List<System.Guid> ids);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/UpdateLightweightUser", ReplyAction="http://tempuri.org/IAccessService/UpdateLightweightUserResponse")]
+        void UpdateLightweightUser(HeuristicLab.Clients.Access.LightweightUser user);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetAllUsers", ReplyAction="http://tempuri.org/IAccessService/GetAllUsersResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.User> GetAllUsers();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUsers", ReplyAction="http://tempuri.org/IAccessService/GetUsersResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.User> GetUsers(System.Collections.Generic.List<System.Guid> ids);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddUser", ReplyAction="http://tempuri.org/IAccessService/AddUserResponse")]
+        HeuristicLab.Clients.Access.User AddUser(HeuristicLab.Clients.Access.User user);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteUser", ReplyAction="http://tempuri.org/IAccessService/DeleteUserResponse")]
+        void DeleteUser(HeuristicLab.Clients.Access.User user);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/UpdateUser", ReplyAction="http://tempuri.org/IAccessService/UpdateUserResponse")]
+        void UpdateUser(HeuristicLab.Clients.Access.User user);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddUserToRole", ReplyAction="http://tempuri.org/IAccessService/AddUserToRoleResponse")]
+        void AddUserToRole(HeuristicLab.Clients.Access.Role role, HeuristicLab.Clients.Access.User user);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/RemoveUserFromRole", ReplyAction="http://tempuri.org/IAccessService/RemoveUserFromRoleResponse")]
+        void RemoveUserFromRole(HeuristicLab.Clients.Access.Role role, HeuristicLab.Clients.Access.User user);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/ChangePassword", ReplyAction="http://tempuri.org/IAccessService/ChangePasswordResponse")]
+        bool ChangePassword(System.Guid userId, string oldPassword, string newPassword);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/ResetPassword", ReplyAction="http://tempuri.org/IAccessService/ResetPasswordResponse")]
+        string ResetPassword(System.Guid userId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetAllUserGroups", ReplyAction="http://tempuri.org/IAccessService/GetAllUserGroupsResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetAllUserGroups();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUserGroupsOfUser", ReplyAction="http://tempuri.org/IAccessService/GetUserGroupsOfUserResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetUserGroupsOfUser(System.Guid userId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUserGroups", ReplyAction="http://tempuri.org/IAccessService/GetUserGroupsResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetUserGroups(System.Collections.Generic.List<System.Guid> ids);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddUserGroup", ReplyAction="http://tempuri.org/IAccessService/AddUserGroupResponse")]
+        System.Guid AddUserGroup(HeuristicLab.Clients.Access.UserGroup group);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/UpdateUserGroup", ReplyAction="http://tempuri.org/IAccessService/UpdateUserGroupResponse")]
+        void UpdateUserGroup(HeuristicLab.Clients.Access.UserGroup group);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteUserGroup", ReplyAction="http://tempuri.org/IAccessService/DeleteUserGroupResponse")]
+        void DeleteUserGroup(HeuristicLab.Clients.Access.UserGroup group);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddUserGroupBaseToGroup", ReplyAction="http://tempuri.org/IAccessService/AddUserGroupBaseToGroupResponse")]
+        void AddUserGroupBaseToGroup(HeuristicLab.Clients.Access.UserGroupBase resource, HeuristicLab.Clients.Access.UserGroup group);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/RemoveUserGroupBaseFromGroup", ReplyAction="http://tempuri.org/IAccessService/RemoveUserGroupBaseFromGroupResponse")]
+        void RemoveUserGroupBaseFromGroup(HeuristicLab.Clients.Access.UserGroupBase resource, HeuristicLab.Clients.Access.UserGroup group);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUsersAndGroups", ReplyAction="http://tempuri.org/IAccessService/GetUsersAndGroupsResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupBase> GetUsersAndGroups();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetAllLeightweightUsersAndGroups", ReplyAction="http://tempuri.org/IAccessService/GetAllLeightweightUsersAndGroupsResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupBase> GetAllLeightweightUsersAndGroups();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetLeightweightUsersAndGroups", ReplyAction="http://tempuri.org/IAccessService/GetLeightweightUsersAndGroupsResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupBase> GetLeightweightUsersAndGroups(System.Collections.Generic.List<System.Guid> ids);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUserGroupMapping", ReplyAction="http://tempuri.org/IAccessService/GetUserGroupMappingResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupMapping> GetUserGroupMapping();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUserGroupIdsOfGroup", ReplyAction="http://tempuri.org/IAccessService/GetUserGroupIdsOfGroupResponse")]
+        System.Collections.Generic.List<System.Guid> GetUserGroupIdsOfGroup(System.Guid groupId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetRoles", ReplyAction="http://tempuri.org/IAccessService/GetRolesResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> GetRoles();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddRole", ReplyAction="http://tempuri.org/IAccessService/AddRoleResponse")]
+        HeuristicLab.Clients.Access.Role AddRole(HeuristicLab.Clients.Access.Role role);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteRole", ReplyAction="http://tempuri.org/IAccessService/DeleteRoleResponse")]
+        void DeleteRole(HeuristicLab.Clients.Access.Role role);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetUserRoles", ReplyAction="http://tempuri.org/IAccessService/GetUserRolesResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> GetUserRoles(HeuristicLab.Clients.Access.User user);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/AddRoleToGroup", ReplyAction="http://tempuri.org/IAccessService/AddRoleToGroupResponse")]
+        void AddRoleToGroup(HeuristicLab.Clients.Access.UserGroup userGroup, HeuristicLab.Clients.Access.Role role);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/RemoveRoleFromGroup", ReplyAction="http://tempuri.org/IAccessService/RemoveRoleFromGroupResponse")]
+        void RemoveRoleFromGroup(HeuristicLab.Clients.Access.UserGroup userGroup, HeuristicLab.Clients.Access.Role role);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/ReportError", ReplyAction="http://tempuri.org/IAccessService/ReportErrorResponse")]
+        void ReportError(HeuristicLab.Clients.Access.ClientError error);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetClientErrors", ReplyAction="http://tempuri.org/IAccessService/GetClientErrorsResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientError> GetClientErrors();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/GetLastClientErrors", ReplyAction="http://tempuri.org/IAccessService/GetLastClientErrorsResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientError> GetLastClientErrors(System.DateTime startDate);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAccessService/DeleteError", ReplyAction="http://tempuri.org/IAccessService/DeleteErrorResponse")]
+        void DeleteError(HeuristicLab.Clients.Access.ClientError error);
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public interface IAccessServiceChannel : HeuristicLab.Clients.Access.IAccessService, System.ServiceModel.IClientChannel
+    {
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class AccessServiceClient : System.ServiceModel.ClientBase<HeuristicLab.Clients.Access.IAccessService>, HeuristicLab.Clients.Access.IAccessService
+    {
+        
+        public AccessServiceClient()
+        {
+        }
+        
+        public AccessServiceClient(string endpointConfigurationName) : 
+                base(endpointConfigurationName)
+        {
+        }
+        
+        public AccessServiceClient(string endpointConfigurationName, string remoteAddress) : 
+                base(endpointConfigurationName, remoteAddress)
+        {
+        }
+        
+        public AccessServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
+                base(endpointConfigurationName, remoteAddress)
+        {
+        }
+        
+        public AccessServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
+                base(binding, remoteAddress)
+        {
+        }
+        
+        public bool ClientExists(System.Guid id)
+        {
+            return base.Channel.ClientExists(id);
+        }
+        
+        public HeuristicLab.Clients.Access.Client GetClient(System.Guid id)
+        {
+            return base.Channel.GetClient(id);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.Client> GetClients(System.Collections.Generic.List<System.Guid> ids)
+        {
+            return base.Channel.GetClients(ids);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.Client> GetAllClients()
+        {
+            return base.Channel.GetAllClients();
+        }
+        
+        public void AddClient(HeuristicLab.Clients.Access.Client client)
+        {
+            base.Channel.AddClient(client);
+        }
+        
+        public void UpdateClient(HeuristicLab.Clients.Access.Client client)
+        {
+            base.Channel.UpdateClient(client);
+        }
+        
+        public void DeleteClient(HeuristicLab.Clients.Access.Client client)
+        {
+            base.Channel.DeleteClient(client);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroup> GetAllClientGroups()
+        {
+            return base.Channel.GetAllClientGroups();
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroup> GetClientGroups(System.Collections.Generic.List<System.Guid> ids)
+        {
+            return base.Channel.GetClientGroups(ids);
+        }
+        
+        public System.Guid AddClientGroup(HeuristicLab.Clients.Access.ClientGroup group)
+        {
+            return base.Channel.AddClientGroup(group);
+        }
+        
+        public void UpdateClientGroup(HeuristicLab.Clients.Access.ClientGroup group)
+        {
+            base.Channel.UpdateClientGroup(group);
+        }
+        
+        public void DeleteClientGroup(HeuristicLab.Clients.Access.ClientGroup group)
+        {
+            base.Channel.DeleteClientGroup(group);
+        }
+        
+        public void AddResourceToGroup(HeuristicLab.Clients.Access.Resource resource, HeuristicLab.Clients.Access.ClientGroup group)
+        {
+            base.Channel.AddResourceToGroup(resource, group);
+        }
+        
+        public void RemoveResourceFromGroup(HeuristicLab.Clients.Access.Resource resource, HeuristicLab.Clients.Access.ClientGroup group)
+        {
+            base.Channel.RemoveResourceFromGroup(resource, group);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientGroupMapping> GetClientGroupMapping()
+        {
+            return base.Channel.GetClientGroupMapping();
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.Resource> GetResources()
+        {
+            return base.Channel.GetResources();
+        }
+        
+        public HeuristicLab.Clients.Access.ClientLog GetLastClientLog(System.Guid clientId)
+        {
+            return base.Channel.GetLastClientLog(clientId);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientLog> GetClientLogs(System.Guid clientId)
+        {
+            return base.Channel.GetClientLogs(clientId);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientLog> GetClientLogsSince(System.DateTime startDate)
+        {
+            return base.Channel.GetClientLogsSince(startDate);
+        }
+        
+        public void AddClientLog(HeuristicLab.Clients.Access.ClientLog log)
+        {
+            base.Channel.AddClientLog(log);
+        }
+        
+        public void DeleteClientLog(HeuristicLab.Clients.Access.ClientLog log)
+        {
+            base.Channel.DeleteClientLog(log);
+        }
+        
+        public HeuristicLab.Clients.Access.LightweightUser Login()
+        {
+            return base.Channel.Login();
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetGroupsOfCurrentUser()
+        {
+            return base.Channel.GetGroupsOfCurrentUser();
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> GetRolesOfCurrentUser()
+        {
+            return base.Channel.GetRolesOfCurrentUser();
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.LightweightUser> GetAllLightweightUsers()
+        {
+            return base.Channel.GetAllLightweightUsers();
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.LightweightUser> GetLightweightUsers(System.Collections.Generic.List<System.Guid> ids)
+        {
+            return base.Channel.GetLightweightUsers(ids);
+        }
+        
+        public void UpdateLightweightUser(HeuristicLab.Clients.Access.LightweightUser user)
+        {
+            base.Channel.UpdateLightweightUser(user);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.User> GetAllUsers()
+        {
+            return base.Channel.GetAllUsers();
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.User> GetUsers(System.Collections.Generic.List<System.Guid> ids)
+        {
+            return base.Channel.GetUsers(ids);
+        }
+        
+        public HeuristicLab.Clients.Access.User AddUser(HeuristicLab.Clients.Access.User user)
+        {
+            return base.Channel.AddUser(user);
+        }
+        
+        public void DeleteUser(HeuristicLab.Clients.Access.User user)
+        {
+            base.Channel.DeleteUser(user);
+        }
+        
+        public void UpdateUser(HeuristicLab.Clients.Access.User user)
+        {
+            base.Channel.UpdateUser(user);
+        }
+        
+        public void AddUserToRole(HeuristicLab.Clients.Access.Role role, HeuristicLab.Clients.Access.User user)
+        {
+            base.Channel.AddUserToRole(role, user);
+        }
+        
+        public void RemoveUserFromRole(HeuristicLab.Clients.Access.Role role, HeuristicLab.Clients.Access.User user)
+        {
+            base.Channel.RemoveUserFromRole(role, user);
+        }
+        
+        public bool ChangePassword(System.Guid userId, string oldPassword, string newPassword)
+        {
+            return base.Channel.ChangePassword(userId, oldPassword, newPassword);
+        }
+        
+        public string ResetPassword(System.Guid userId)
+        {
+            return base.Channel.ResetPassword(userId);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetAllUserGroups()
+        {
+            return base.Channel.GetAllUserGroups();
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetUserGroupsOfUser(System.Guid userId)
+        {
+            return base.Channel.GetUserGroupsOfUser(userId);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroup> GetUserGroups(System.Collections.Generic.List<System.Guid> ids)
+        {
+            return base.Channel.GetUserGroups(ids);
+        }
+        
+        public System.Guid AddUserGroup(HeuristicLab.Clients.Access.UserGroup group)
+        {
+            return base.Channel.AddUserGroup(group);
+        }
+        
+        public void UpdateUserGroup(HeuristicLab.Clients.Access.UserGroup group)
+        {
+            base.Channel.UpdateUserGroup(group);
+        }
+        
+        public void DeleteUserGroup(HeuristicLab.Clients.Access.UserGroup group)
+        {
+            base.Channel.DeleteUserGroup(group);
+        }
+        
+        public void AddUserGroupBaseToGroup(HeuristicLab.Clients.Access.UserGroupBase resource, HeuristicLab.Clients.Access.UserGroup group)
+        {
+            base.Channel.AddUserGroupBaseToGroup(resource, group);
+        }
+        
+        public void RemoveUserGroupBaseFromGroup(HeuristicLab.Clients.Access.UserGroupBase resource, HeuristicLab.Clients.Access.UserGroup group)
+        {
+            base.Channel.RemoveUserGroupBaseFromGroup(resource, group);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupBase> GetUsersAndGroups()
+        {
+            return base.Channel.GetUsersAndGroups();
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupBase> GetAllLeightweightUsersAndGroups()
+        {
+            return base.Channel.GetAllLeightweightUsersAndGroups();
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupBase> GetLeightweightUsersAndGroups(System.Collections.Generic.List<System.Guid> ids)
+        {
+            return base.Channel.GetLeightweightUsersAndGroups(ids);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.UserGroupMapping> GetUserGroupMapping()
+        {
+            return base.Channel.GetUserGroupMapping();
+        }
+        
+        public System.Collections.Generic.List<System.Guid> GetUserGroupIdsOfGroup(System.Guid groupId)
+        {
+            return base.Channel.GetUserGroupIdsOfGroup(groupId);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> GetRoles()
+        {
+            return base.Channel.GetRoles();
+        }
+        
+        public HeuristicLab.Clients.Access.Role AddRole(HeuristicLab.Clients.Access.Role role)
+        {
+            return base.Channel.AddRole(role);
+        }
+        
+        public void DeleteRole(HeuristicLab.Clients.Access.Role role)
+        {
+            base.Channel.DeleteRole(role);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.Role> GetUserRoles(HeuristicLab.Clients.Access.User user)
+        {
+            return base.Channel.GetUserRoles(user);
+        }
+        
+        public void AddRoleToGroup(HeuristicLab.Clients.Access.UserGroup userGroup, HeuristicLab.Clients.Access.Role role)
+        {
+            base.Channel.AddRoleToGroup(userGroup, role);
+        }
+        
+        public void RemoveRoleFromGroup(HeuristicLab.Clients.Access.UserGroup userGroup, HeuristicLab.Clients.Access.Role role)
+        {
+            base.Channel.RemoveRoleFromGroup(userGroup, role);
+        }
+        
+        public void ReportError(HeuristicLab.Clients.Access.ClientError error)
+        {
+            base.Channel.ReportError(error);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientError> GetClientErrors()
+        {
+            return base.Channel.GetClientErrors();
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Access.ClientError> GetLastClientErrors(System.DateTime startDate)
+        {
+            return base.Channel.GetLastClientErrors(startDate);
+        }
+        
+        public void DeleteError(HeuristicLab.Clients.Access.ClientError error)
+        {
+            base.Channel.DeleteError(error);
+        }
+    }
 }
Index: stable/HeuristicLab.Clients.Access/3.3/ServiceClients/GenerateServiceClients.cmd
===================================================================
--- stable/HeuristicLab.Clients.Access/3.3/ServiceClients/GenerateServiceClients.cmd	(revision 15260)
+++ stable/HeuristicLab.Clients.Access/3.3/ServiceClients/GenerateServiceClients.cmd	(revision 15261)
@@ -1,30 +1,52 @@
-echo off
+@ECHO OFF
 
-echo.
-echo *******************************************************************************************
-echo Generating AccessService client
-echo.
+SET HOST=
+SET GENERATECONFIG=
 
-svcutil.exe ^
-  http://localhost:81/AccessService?wsdl ^
-  /out:AccessServiceClient ^
-  /namespace:*,HeuristicLab.Clients.Access ^
-  /collectionType:System.Collections.Generic.List`1 ^
-  /targetClientVersion:Version35 ^
-  /serializable ^
-  /enableDataBinding ^
-  /config:..\app.config 
+ECHO.
+ECHO *******************************************************************************************
 
-echo.
-echo ---------------------------------------------------------------------------------------
-echo !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
-echo.
-echo Following modifications have to be done manually in generated data contracts:
-echo  * Remove method "protected void RaisePropertyChanged(string propertyName)" in AccessServiceItem
-echo.
-echo !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
-echo ---------------------------------------------------------------------------------------
-echo.
-echo Generation of AccessService client finished.
-echo *******************************************************************************************
+SET /P HOST=Which host should be used? [services.heuristiclab.com]: 
+IF "%HOST%"=="" SET HOST=services.heuristiclab.com
 
+SET /P GENERATECONFIG=Would you like to generate the configuration file? [y]: 
+IF "%GENERATECONFIG%"=="" SET GENERATECONFIG=y
+
+SET ARGS=http://%HOST%/AccessService-3.3/AccessService.svc?wsdl ^
+/out:AccessServiceClient ^
+/namespace:*,HeuristicLab.Clients.Access ^
+/collectionType:System.Collections.Generic.List`1 ^
+/targetClientVersion:Version35 ^
+/serializable ^
+/enableDataBinding ^
+/syncOnly
+
+IF "%GENERATECONFIG%"=="y" (
+  SET ARGS=%ARGS% /config:..\app.config /mergeConfig
+) ELSE (
+  SET ARGS=%ARGS% /noConfig
+)
+
+ECHO.
+ECHO Generating AccessService client
+ECHO.
+
+SETLOCAL ENABLEDELAYEDEXPANSION
+svcutil.exe %ARGS%
+ENDLOCAL
+
+ECHO.
+ECHO ---------------------------------------------------------------------------------------
+ECHO !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
+ECHO.
+ECHO Following modifications have to be done manually in generated data contracts:
+ECHO  * Remove method "protected void RaisePropertyChanged(string propertyName)" in generated AccessItem
+ECHO.
+ECHO !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
+ECHO ---------------------------------------------------------------------------------------
+ECHO.
+ECHO Generation of AccessService client finished.
+ECHO *******************************************************************************************
+ECHO.
+
+PAUSE
Index: stable/HeuristicLab.Clients.Access/3.3/app.config
===================================================================
--- stable/HeuristicLab.Clients.Access/3.3/app.config	(revision 15260)
+++ stable/HeuristicLab.Clients.Access/3.3/app.config	(revision 15261)
@@ -1,39 +1,51 @@
 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
-    <configSections>
-        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-            <section name="HeuristicLab.Clients.Access.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
-        </sectionGroup>
-    </configSections>
-    <system.serviceModel>
-        <bindings>
-            <wsHttpBinding>
-                <binding name="WSHttpBinding_IAccessService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
-                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
-                    <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
-                    <security mode="Message">
-                        <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
-                        <message clientCredentialType="UserName" negotiateServiceCredential="true" algorithmSuite="Default"/>
-                    </security>
-                </binding>
-            </wsHttpBinding>
-        </bindings>
-        <client>
-            <endpoint address="http://services.heuristiclab.com/AccessService-3.3/AccessService.svc" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IAccessService" contract="HeuristicLab.Clients.Access.IAccessService" name="WSHttpBinding_IAccessService">
-                <identity>
-                    <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
-                </identity>
-            </endpoint>
-        </client>
-    </system.serviceModel>
-    <applicationSettings>
-      <HeuristicLab.Clients.Access.Settings>
-        <setting name="HLExeName" serializeAs="String">
-          <value>HeuristicLab 3.3</value>
-        </setting>
-        <setting name="ClientTypeName" serializeAs="String">
-          <value>HLClient</value>
-        </setting>
-      </HeuristicLab.Clients.Access.Settings>
-    </applicationSettings>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
+  <configSections>
+    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+      <section name="HeuristicLab.Clients.Access.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
+    </sectionGroup>
+  </configSections>
+
+  <applicationSettings>
+    <HeuristicLab.Clients.Access.Settings>
+      <setting name="HLExeName" serializeAs="String">
+        <value>HeuristicLab 3.3</value>
+      </setting>
+      <setting name="ClientTypeName" serializeAs="String">
+        <value>HLClient</value>
+      </setting>
+    </HeuristicLab.Clients.Access.Settings>
+  </applicationSettings>
+
+  <!--
+    !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
+    If you want to update the configuration with the GenerateServiceClients.cmd, make sure to remove all child nodes of system.serviceModel first.
+  -->
+  <system.serviceModel>
+    <bindings>
+      <wsHttpBinding>
+        <binding name="WSHttpBinding_IAccessService" maxBufferPoolSize="2147483647"
+          maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security>
+            <message clientCredentialType="UserName" />
+          </security>
+        </binding>
+      </wsHttpBinding>
+    </bindings>
+    <client>
+      <endpoint address="http://services.heuristiclab.com/AccessService-3.3/AccessService.svc"
+        binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IAccessService"
+        contract="HeuristicLab.Clients.Access.IAccessService" name="WSHttpBinding_IAccessService">
+        <identity>
+          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ==" />
+        </identity>
+      </endpoint>
+    </client>
+  </system.serviceModel>
+
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
+  </startup>
+</configuration>
Index: stable/HeuristicLab.Clients.Hive.Slave.ConsoleClient/3.3/app.config
===================================================================
--- stable/HeuristicLab.Clients.Hive.Slave.ConsoleClient/3.3/app.config	(revision 15260)
+++ stable/HeuristicLab.Clients.Hive.Slave.ConsoleClient/3.3/app.config	(revision 15261)
@@ -1,3 +1,3 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <configSections>
@@ -7,60 +7,4 @@
     </sectionGroup>
   </configSections>
-  <runtime>
-    <gcServer enabled="true"/>
-  </runtime>      
-  
-  <system.serviceModel>
-    <behaviors>
-      <endpointBehaviors>
-        <behavior name="HiveBehaviorConfiguration">
-          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
-        </behavior>
-      </endpointBehaviors>
-    </behaviors>
-    <bindings>
-      <wsHttpBinding>
-        <binding name="wsHttpBinding_Hive" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:35:00" sendTimeout="00:35:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
-          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
-          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
-          <security mode="Message">
-            <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
-            <message clientCredentialType="UserName" negotiateServiceCredential="true" algorithmSuite="Default"/>
-          </security>
-        </binding>
-      </wsHttpBinding>
-      <netTcpBinding>
-        <binding name="netTcpBinding_Hive" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:35:00" sendTimeout="00:35:00" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
-          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
-          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
-          <security mode="TransportWithMessageCredential">
-            <transport clientCredentialType="Windows"/>
-            <message clientCredentialType="UserName" algorithmSuite="Default"/>
-          </security>
-        </binding>
-      </netTcpBinding>
-    </bindings>
-    
-    <services>
-      <service name="HeuristicLab.Clients.Hive.SlaveCore.SlaveCommunicationService">        
-        <endpoint address="net.pipe://localhost/HeuristicLabSlaveCom" binding="netNamedPipeBinding" contract="HeuristicLab.Clients.Hive.SlaveCore.ServiceContracts.ISlaveCommunication"/>
-      </service>
-    </services>
- 
-   <client>
-     <endpoint name="SlaveCommunicationServiceEndpoint" address="net.pipe://localhost/HeuristicLabSlaveCom" binding="netNamedPipeBinding" contract="HeuristicLab.Clients.Hive.SlaveCore.ServiceContracts.ISlaveCommunication"/>
-    <endpoint address="http://services.heuristiclab.com/Hive-3.3/HiveService.svc" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding_Hive" contract="HeuristicLab.Clients.Hive.IHiveService" name="wsHttpBinding_IHiveService" behaviorConfiguration="HiveBehaviorConfiguration">
-      <identity>
-        <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
-      </identity>
-    </endpoint>
-     <endpoint address="net.tcp://services.heuristiclab.com/Hive-3.3/HiveService.svc" binding="netTcpBinding" bindingConfiguration="netTcpBinding_Hive" contract="HeuristicLab.Clients.Hive.IHiveService" name="netTcpBinding_IHiveService" behaviorConfiguration="HiveBehaviorConfiguration">
-       <identity>
-         <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
-       </identity>
-     </endpoint>
-   </client>
-   
- </system.serviceModel>
 
   <userSettings>
@@ -158,6 +102,6 @@
         <value>
           <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-            <string>netTcpBinding_IHiveService</string>
-            <string>wsHttpBinding_IHiveService</string>
+            <string>NetBinding_IHiveService</string>
+            <string>WSHttpBinding_IHiveService</string>
           </ArrayOfString>
         </value>
@@ -168,3 +112,11 @@
     </HeuristicLab.Clients.Hive.Settings>
   </userSettings>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
+
+  <runtime>
+    <gcServer enabled="true"/>
+  </runtime>
+  
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
+  </startup>
+</configuration>
Index: stable/HeuristicLab.Clients.Hive.Slave.TrayIcon/3.3/app.config
===================================================================
--- stable/HeuristicLab.Clients.Hive.Slave.TrayIcon/3.3/app.config	(revision 15260)
+++ stable/HeuristicLab.Clients.Hive.Slave.TrayIcon/3.3/app.config	(revision 15261)
@@ -1,8 +1,5 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
-  <configSections>
-  </configSections>
   <system.serviceModel>
-  
     <services>
       <service name="HeuristicLab.Clients.Hive.SlaveCore.SlaveCommunicationService">
@@ -13,6 +10,8 @@
       <endpoint name="SlaveCommunicationServiceEndpoint" address="net.pipe://localhost/HeuristicLabSlaveCom" binding="netNamedPipeBinding" contract="HeuristicLab.Clients.Hive.SlaveCore.ServiceContracts.ISlaveCommunication"/>
     </client>
-
   </system.serviceModel>
-  <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup>
+  
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
+  </startup>
 </configuration>
Index: stable/HeuristicLab.Clients.Hive.Slave.Views/3.3/app.config
===================================================================
--- stable/HeuristicLab.Clients.Hive.Slave.Views/3.3/app.config	(revision 15260)
+++ stable/HeuristicLab.Clients.Hive.Slave.Views/3.3/app.config	(revision 15261)
@@ -1,40 +1,46 @@
 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
-    <configSections>
-        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-            <section name="HeuristicLab.Clients.Hive.SlaveCore.Views.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
-        </sectionGroup>
-        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-            <section name="HeuristicLab.Clients.Hive.SlaveCore.Views.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
-        </sectionGroup>
-    </configSections>
-    <userSettings>
-        <HeuristicLab.Clients.Hive.SlaveCore.Views.Properties.Settings>
-            <setting name="ShowBalloonTips" serializeAs="String">
-                <value>False</value>
-            </setting>
-            <setting name="ShowUICmd" serializeAs="String">
-                <value>showui</value>
-            </setting>
-            <setting name="SlaveCommunicationServiceEndpoint" serializeAs="String">
-                <value>SlaveCommunicationServiceEndpoint</value>
-            </setting>
-            <setting name="ServiceName" serializeAs="String">
-                <value>HeuristicLab.Clients.Hive.Slave</value>
-            </setting>
-            <setting name="ServiceStartStopTimeout" serializeAs="String">
-                <value>00:00:20</value>
-            </setting>
-            <setting name="ServiceReconnectTimeout" serializeAs="String">
-                <value>00:00:03</value>
-            </setting>
-        </HeuristicLab.Clients.Hive.SlaveCore.Views.Properties.Settings>
-    </userSettings>
-    <applicationSettings>
-        <HeuristicLab.Clients.Hive.SlaveCore.Views.Properties.Settings>
-            <setting name="MaxLogCount" serializeAs="String">
-                <value>1000</value>
-            </setting>
-        </HeuristicLab.Clients.Hive.SlaveCore.Views.Properties.Settings>
-    </applicationSettings>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
+  <configSections>
+    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+      <section name="HeuristicLab.Clients.Hive.SlaveCore.Views.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
+    </sectionGroup>
+    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+      <section name="HeuristicLab.Clients.Hive.SlaveCore.Views.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
+    </sectionGroup>
+  </configSections>
+  
+  <userSettings>
+    <HeuristicLab.Clients.Hive.SlaveCore.Views.Properties.Settings>
+      <setting name="ShowBalloonTips" serializeAs="String">
+        <value>False</value>
+      </setting>
+      <setting name="ShowUICmd" serializeAs="String">
+        <value>showui</value>
+      </setting>
+      <setting name="SlaveCommunicationServiceEndpoint" serializeAs="String">
+        <value>SlaveCommunicationServiceEndpoint</value>
+      </setting>
+      <setting name="ServiceName" serializeAs="String">
+        <value>HeuristicLab.Clients.Hive.Slave</value>
+      </setting>
+      <setting name="ServiceStartStopTimeout" serializeAs="String">
+        <value>00:00:20</value>
+      </setting>
+      <setting name="ServiceReconnectTimeout" serializeAs="String">
+        <value>00:00:03</value>
+      </setting>
+    </HeuristicLab.Clients.Hive.SlaveCore.Views.Properties.Settings>
+  </userSettings>
+  
+  <applicationSettings>
+    <HeuristicLab.Clients.Hive.SlaveCore.Views.Properties.Settings>
+      <setting name="MaxLogCount" serializeAs="String">
+        <value>1000</value>
+      </setting>
+    </HeuristicLab.Clients.Hive.SlaveCore.Views.Properties.Settings>
+  </applicationSettings>
+  
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
+  </startup>
+</configuration>
Index: stable/HeuristicLab.Clients.Hive.Slave.WindowsService/3.3/app.config
===================================================================
--- stable/HeuristicLab.Clients.Hive.Slave.WindowsService/3.3/app.config	(revision 15260)
+++ stable/HeuristicLab.Clients.Hive.Slave.WindowsService/3.3/app.config	(revision 15261)
@@ -1,3 +1,3 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <configSections>
@@ -7,60 +7,4 @@
     </sectionGroup>
   </configSections>
-  <runtime>
-    <gcServer enabled="true"/>
-  </runtime>
-
-  <system.serviceModel>
-    <behaviors>
-      <endpointBehaviors>
-        <behavior name="HiveBehaviorConfiguration">
-          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
-        </behavior>
-      </endpointBehaviors>
-    </behaviors>
-    <bindings>
-      <wsHttpBinding>
-        <binding name="wsHttpBinding_Hive" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:35:00" sendTimeout="00:35:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
-          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
-          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
-          <security mode="Message">
-            <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
-            <message clientCredentialType="UserName" negotiateServiceCredential="true" algorithmSuite="Default"/>
-          </security>
-        </binding>
-      </wsHttpBinding>
-      <netTcpBinding>
-        <binding name="netTcpBinding_Hive" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:35:00" sendTimeout="00:35:00" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
-          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
-          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
-          <security mode="TransportWithMessageCredential">
-            <transport clientCredentialType="Windows"/>
-            <message clientCredentialType="UserName" algorithmSuite="Default"/>
-          </security>
-        </binding>
-      </netTcpBinding>
-    </bindings>
-
-    <services>
-      <service name="HeuristicLab.Clients.Hive.SlaveCore.SlaveCommunicationService">
-        <endpoint address="net.pipe://localhost/HeuristicLabSlaveCom" binding="netNamedPipeBinding" contract="HeuristicLab.Clients.Hive.SlaveCore.ServiceContracts.ISlaveCommunication"/>
-      </service>
-    </services>
-
-    <client>
-      <endpoint name="SlaveCommunicationServiceEndpoint" address="net.pipe://localhost/HeuristicLabSlaveCom" binding="netNamedPipeBinding" contract="HeuristicLab.Clients.Hive.SlaveCore.ServiceContracts.ISlaveCommunication"/>
-      <endpoint address="http://services.heuristiclab.com/Hive-3.3/HiveService.svc" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding_Hive" contract="HeuristicLab.Clients.Hive.IHiveService" name="wsHttpBinding_IHiveService" behaviorConfiguration="HiveBehaviorConfiguration">
-        <identity>
-          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
-        </identity>
-      </endpoint>
-      <endpoint address="net.tcp://services.heuristiclab.com/Hive-3.3/HiveService.svc" binding="netTcpBinding" bindingConfiguration="netTcpBinding_Hive" contract="HeuristicLab.Clients.Hive.IHiveService" name="netTcpBinding_IHiveService" behaviorConfiguration="HiveBehaviorConfiguration">
-        <identity>
-          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
-        </identity>
-      </endpoint>
-    </client>
-
-  </system.serviceModel>
 
   <userSettings>
@@ -135,4 +79,10 @@
         <value>00:00:40</value>
       </setting>
+      <setting name="CheckpointInterval" serializeAs="String">
+        <value>18:00:00</value>
+      </setting>
+      <setting name="CheckpointCheckInterval" serializeAs="String">
+        <value>00:05:00</value>
+      </setting>
     </HeuristicLab.Clients.Hive.SlaveCore.Properties.Settings>
     <HeuristicLab.Clients.Hive.Settings>
@@ -158,6 +108,6 @@
         <value>
           <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-            <string>netTcpBinding_IHiveService</string>
-            <string>wsHttpBinding_IHiveService</string>
+            <string>NetBinding_IHiveService</string>
+            <string>WSHttpBinding_IHiveService</string>
           </ArrayOfString>
         </value>
@@ -168,5 +118,57 @@
     </HeuristicLab.Clients.Hive.Settings>
   </userSettings>
-  
+
+  <system.serviceModel>
+    <bindings>
+      <netTcpBinding>
+        <binding name="NetBinding_IHiveService" receiveTimeout="00:20:00"
+          sendTimeout="00:20:00" maxBufferPoolSize="2147483647" maxBufferSize="2147483647"
+          maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security mode="TransportWithMessageCredential">
+            <message clientCredentialType="UserName" />
+          </security>
+        </binding>
+      </netTcpBinding>
+      <wsHttpBinding>
+        <binding name="WSHttpBinding_IHiveService" receiveTimeout="00:20:00"
+          sendTimeout="00:20:00" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security>
+            <message clientCredentialType="UserName" />
+          </security>
+        </binding>
+      </wsHttpBinding>
+    </bindings>
+    <services>
+      <service name="HeuristicLab.Clients.Hive.SlaveCore.SlaveCommunicationService">
+        <endpoint address="net.pipe://localhost/HeuristicLabSlaveCom" binding="netNamedPipeBinding" contract="HeuristicLab.Clients.Hive.SlaveCore.ServiceContracts.ISlaveCommunication"/>
+      </service>
+    </services>
+    <client>
+      <endpoint name="SlaveCommunicationServiceEndpoint" address="net.pipe://localhost/HeuristicLabSlaveCom" binding="netNamedPipeBinding" contract="HeuristicLab.Clients.Hive.SlaveCore.ServiceContracts.ISlaveCommunication"/>
+      <endpoint address="http://services.heuristiclab.com/Hive-3.3/HiveService.svc"
+        binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IHiveService"
+        contract="HeuristicLab.Clients.Hive.IHiveService" name="WSHttpBinding_IHiveService">
+        <identity>
+          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ==" />
+        </identity>
+      </endpoint>
+      <endpoint address="net.tcp://services.heuristiclab.com/Hive-3.3/HiveService.svc"
+        binding="netTcpBinding" bindingConfiguration="NetBinding_IHiveService"
+        contract="HeuristicLab.Clients.Hive.IHiveService" name="NetBinding_IHiveService">
+        <identity>
+          <dns value="services.heuristiclab.com" />
+        </identity>
+      </endpoint>
+    </client>
+  </system.serviceModel>
+
+  <runtime>
+    <gcServer enabled="true"/>
+  </runtime>
+
   <startup>
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
Index: stable/HeuristicLab.Clients.Hive.Slave/3.3/app.config
===================================================================
--- stable/HeuristicLab.Clients.Hive.Slave/3.3/app.config	(revision 15260)
+++ stable/HeuristicLab.Clients.Hive.Slave/3.3/app.config	(revision 15261)
@@ -1,3 +1,3 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <configSections>
@@ -7,61 +7,5 @@
     </sectionGroup>
   </configSections>
-  <runtime>
-    <gcServer enabled="true"/>
-  </runtime>
 
-  <startup>
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
-  </startup>
- 
-  <system.serviceModel>
-    <behaviors>
-      <endpointBehaviors>
-        <behavior name="HiveBehaviorConfiguration">
-          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
-        </behavior>
-      </endpointBehaviors>
-    </behaviors>
-    <bindings>
-      <wsHttpBinding>
-        <binding name="wsHttpBinding_Hive" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:35:00" sendTimeout="00:35:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
-          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
-          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
-          <security mode="Message">
-            <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
-            <message clientCredentialType="UserName" negotiateServiceCredential="true" algorithmSuite="Default"/>
-          </security>
-        </binding>
-      </wsHttpBinding>
-      <netTcpBinding>
-        <binding name="netTcpBinding_Hive" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:35:00" sendTimeout="00:35:00" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
-          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
-          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
-          <security mode="TransportWithMessageCredential">
-            <transport clientCredentialType="Windows"/>
-            <message clientCredentialType="UserName" algorithmSuite="Default"/>
-          </security>
-        </binding>
-      </netTcpBinding>
-    </bindings>
-    <services>
-      <service name="HeuristicLab.Clients.Hive.SlaveCore.SlaveCommunicationService">
-        <endpoint address="net.pipe://localhost/HeuristicLabSlaveCom" binding="netNamedPipeBinding" contract="HeuristicLab.Clients.Hive.SlaveCore.ServiceContracts.ISlaveCommunication"/>
-      </service>
-    </services>
-    <client>
-      <endpoint name="SlaveCommunicationServiceEndpoint" address="net.pipe://localhost/HeuristicLabSlaveCom" binding="netNamedPipeBinding" contract="HeuristicLab.Clients.Hive.SlaveCore.ServiceContracts.ISlaveCommunication"/>
-      <endpoint address="http://services.heuristiclab.com/Hive-3.3/HiveService.svc" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding_Hive" contract="HeuristicLab.Clients.Hive.IHiveService" name="wsHttpBinding_IHiveService" behaviorConfiguration="HiveBehaviorConfiguration">
-        <identity>
-          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
-        </identity>
-      </endpoint>
-      <endpoint address="net.tcp://services.heuristiclab.com/Hive-3.3/HiveService.svc" binding="netTcpBinding" bindingConfiguration="netTcpBinding_Hive" contract="HeuristicLab.Clients.Hive.IHiveService" name="netTcpBinding_IHiveService" behaviorConfiguration="HiveBehaviorConfiguration">
-        <identity>
-          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
-        </identity>
-      </endpoint>
-    </client>
-  </system.serviceModel>
   <userSettings>
     <HeuristicLab.Clients.Hive.SlaveCore.Properties.Settings>
@@ -164,6 +108,6 @@
         <value>
           <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-            <string>netTcpBinding_IHiveService</string>
-            <string>wsHttpBinding_IHiveService</string>
+            <string>NetBinding_IHiveService</string>
+            <string>WSHttpBinding_IHiveService</string>
           </ArrayOfString>
         </value>
@@ -174,3 +118,59 @@
     </HeuristicLab.Clients.Hive.Settings>
   </userSettings>
+
+  <system.serviceModel>
+    <bindings>
+      <netTcpBinding>
+        <binding name="NetBinding_IHiveService" receiveTimeout="00:20:00"
+          sendTimeout="00:20:00" maxBufferPoolSize="2147483647" maxBufferSize="2147483647"
+          maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security mode="TransportWithMessageCredential">
+            <message clientCredentialType="UserName" />
+          </security>
+        </binding>
+      </netTcpBinding>
+      <wsHttpBinding>
+        <binding name="WSHttpBinding_IHiveService" receiveTimeout="00:20:00"
+          sendTimeout="00:20:00" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security>
+            <message clientCredentialType="UserName" />
+          </security>
+        </binding>
+      </wsHttpBinding>
+    </bindings>
+    <services>
+      <service name="HeuristicLab.Clients.Hive.SlaveCore.SlaveCommunicationService">
+        <endpoint address="net.pipe://localhost/HeuristicLabSlaveCom" binding="netNamedPipeBinding" contract="HeuristicLab.Clients.Hive.SlaveCore.ServiceContracts.ISlaveCommunication"/>
+      </service>
+    </services>
+    <client>
+      <endpoint name="SlaveCommunicationServiceEndpoint" address="net.pipe://localhost/HeuristicLabSlaveCom" binding="netNamedPipeBinding" contract="HeuristicLab.Clients.Hive.SlaveCore.ServiceContracts.ISlaveCommunication"/>
+      <endpoint address="http://services.heuristiclab.com/Hive-3.3/HiveService.svc"
+        binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IHiveService"
+        contract="HeuristicLab.Clients.Hive.IHiveService" name="WSHttpBinding_IHiveService">
+        <identity>
+          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ==" />
+        </identity>
+      </endpoint>
+      <endpoint address="net.tcp://services.heuristiclab.com/Hive-3.3/HiveService.svc"
+        binding="netTcpBinding" bindingConfiguration="NetBinding_IHiveService"
+        contract="HeuristicLab.Clients.Hive.IHiveService" name="NetBinding_IHiveService">
+        <identity>
+          <dns value="services.heuristiclab.com" />
+        </identity>
+      </endpoint>
+    </client>
+  </system.serviceModel>
+
+  <runtime>
+    <gcServer enabled="true"/>
+  </runtime>
+
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
+  </startup>
 </configuration>
Index: stable/HeuristicLab.Clients.Hive/3.3/HeuristicLab.Clients.Hive-3.3.csproj
===================================================================
--- stable/HeuristicLab.Clients.Hive/3.3/HeuristicLab.Clients.Hive-3.3.csproj	(revision 15260)
+++ stable/HeuristicLab.Clients.Hive/3.3/HeuristicLab.Clients.Hive-3.3.csproj	(revision 15261)
@@ -125,7 +125,4 @@
     <Compile Include="HiveAdminClient.cs" />
     <Compile Include="HiveClient.cs" />
-    <Compile Include="ServiceClients\SlaveStatistics.cs" />
-    <Compile Include="ServiceClients\UserStatistics.cs" />
-    <Compile Include="ServiceClients\Statistics.cs" />
     <Compile Include="ServiceClients\UserPriority.cs" />
     <Compile Include="ServiceClients\ResourcePermission.cs" />
Index: stable/HeuristicLab.Clients.Hive/3.3/ServiceClients/GenerateServiceClients.cmd
===================================================================
--- stable/HeuristicLab.Clients.Hive/3.3/ServiceClients/GenerateServiceClients.cmd	(revision 15260)
+++ stable/HeuristicLab.Clients.Hive/3.3/ServiceClients/GenerateServiceClients.cmd	(revision 15261)
@@ -1,30 +1,52 @@
-echo off
+@ECHO OFF
 
-echo.
-echo *******************************************************************************************
-echo Generating HiveService client
-echo.
+SET HOST=
+SET GENERATECONFIG=
 
-svcutil.exe ^
-  http://localhost/Hive-3.3/HiveService.svc?wsdl ^
-  /out:HiveServiceClient ^
-  /namespace:*,HeuristicLab.Clients.Hive ^
-  /collectionType:System.Collections.Generic.List`1 ^
-  /targetClientVersion:Version35 ^
-  /serializable ^
-  /enableDataBinding ^
-  /config:..\app.config 
+ECHO.
+ECHO *******************************************************************************************
 
-echo.
-echo ---------------------------------------------------------------------------------------
-echo !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
-echo.
-echo Following modifications have to be done manually in generated data contracts:
-echo  * Remove method "protected void RaisePropertyChanged(string propertyName)" in HiveItem
-echo.
-echo !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
-echo ---------------------------------------------------------------------------------------
-echo.
-echo Generation of HiveService client finished.
-echo *******************************************************************************************
+SET /P HOST=Which host should be used? [services.heuristiclab.com]: 
+IF "%HOST%"=="" SET HOST=services.heuristiclab.com
 
+SET /P GENERATECONFIG=Would you like to generate the configuration file? [y]: 
+IF "%GENERATECONFIG%"=="" SET GENERATECONFIG=y
+
+SET ARGS=http://%HOST%/Hive-3.3/HiveService.svc?wsdl ^
+/out:HiveServiceClient ^
+/namespace:*,HeuristicLab.Clients.Hive ^
+/collectionType:System.Collections.Generic.List`1 ^
+/targetClientVersion:Version35 ^
+/serializable ^
+/enableDataBinding ^
+/syncOnly
+
+IF "%GENERATECONFIG%"=="y" (
+  SET ARGS=%ARGS% /config:..\app.config /mergeConfig
+) ELSE (
+  SET ARGS=%ARGS% /noConfig
+)
+
+ECHO.
+ECHO Generating HiveService client
+ECHO.
+
+SETLOCAL ENABLEDELAYEDEXPANSION
+svcutil.exe %ARGS%
+ENDLOCAL
+
+ECHO.
+ECHO ---------------------------------------------------------------------------------------
+ECHO !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
+ECHO.
+ECHO Following modifications have to be done manually in generated data contracts:
+ECHO  * Remove method "protected void RaisePropertyChanged(string propertyName)" in generated HiveItem
+ECHO.
+ECHO !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
+ECHO ---------------------------------------------------------------------------------------
+ECHO.
+ECHO Generation of HiveService client finished.
+ECHO *******************************************************************************************
+ECHO.
+
+PAUSE
Index: stable/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveServiceClient.cs
===================================================================
--- stable/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveServiceClient.cs	(revision 15260)
+++ stable/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveServiceClient.cs	(revision 15261)
@@ -2,5 +2,5 @@
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:4.0.30319.18034
+//     Runtime Version:4.0.30319.42000
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
@@ -19,21 +19,18 @@
     [System.Runtime.Serialization.DataContractAttribute(Name="HiveItem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     [System.SerializableAttribute()]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.LightweightTask))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.StateLog))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Task))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Downtime))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.UserPriority))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Statistics))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveStatistics))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.UserStatistics))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.NamedHiveItem))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.JobPermission))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.PluginData))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.ResourcePermission))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.NamedHiveItem))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Downtime))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.UserPriority))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.LightweightTask))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Task))]
     public partial class HiveItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     {
@@ -75,4 +72,1167 @@
         
         public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="StateLog", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
+    [System.SerializableAttribute()]
+    public partial class StateLog : HeuristicLab.Clients.Hive.HiveItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.DateTime DateTimeField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string ExceptionField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Nullable<System.Guid> SlaveIdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private HeuristicLab.Clients.Hive.TaskState StateField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid TaskIdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Nullable<System.Guid> UserIdField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime DateTime
+        {
+            get
+            {
+                return this.DateTimeField;
+            }
+            set
+            {
+                if ((this.DateTimeField.Equals(value) != true))
+                {
+                    this.DateTimeField = value;
+                    this.RaisePropertyChanged("DateTime");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Exception
+        {
+            get
+            {
+                return this.ExceptionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ExceptionField, value) != true))
+                {
+                    this.ExceptionField = value;
+                    this.RaisePropertyChanged("Exception");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Nullable<System.Guid> SlaveId
+        {
+            get
+            {
+                return this.SlaveIdField;
+            }
+            set
+            {
+                if ((this.SlaveIdField.Equals(value) != true))
+                {
+                    this.SlaveIdField = value;
+                    this.RaisePropertyChanged("SlaveId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.Hive.TaskState State
+        {
+            get
+            {
+                return this.StateField;
+            }
+            set
+            {
+                if ((this.StateField.Equals(value) != true))
+                {
+                    this.StateField = value;
+                    this.RaisePropertyChanged("State");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid TaskId
+        {
+            get
+            {
+                return this.TaskIdField;
+            }
+            set
+            {
+                if ((this.TaskIdField.Equals(value) != true))
+                {
+                    this.TaskIdField = value;
+                    this.RaisePropertyChanged("TaskId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Nullable<System.Guid> UserId
+        {
+            get
+            {
+                return this.UserIdField;
+            }
+            set
+            {
+                if ((this.UserIdField.Equals(value) != true))
+                {
+                    this.UserIdField = value;
+                    this.RaisePropertyChanged("UserId");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="NamedHiveItem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
+    [System.SerializableAttribute()]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
+    public partial class NamedHiveItem : HeuristicLab.Clients.Hive.HiveItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string DescriptionField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Description
+        {
+            get
+            {
+                return this.DescriptionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
+                {
+                    this.DescriptionField = value;
+                    this.RaisePropertyChanged("Description");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Job", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
+    [System.SerializableAttribute()]
+    public partial class Job : HeuristicLab.Clients.Hive.NamedHiveItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private int CalculatingCountField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.DateTime DateCreatedField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private int FinishedCountField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private int JobCountField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid OwnerUserIdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string OwnerUsernameField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private HeuristicLab.Clients.Hive.Permission PermissionField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string ResourceNamesField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int CalculatingCount
+        {
+            get
+            {
+                return this.CalculatingCountField;
+            }
+            set
+            {
+                if ((this.CalculatingCountField.Equals(value) != true))
+                {
+                    this.CalculatingCountField = value;
+                    this.RaisePropertyChanged("CalculatingCount");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime DateCreated
+        {
+            get
+            {
+                return this.DateCreatedField;
+            }
+            set
+            {
+                if ((this.DateCreatedField.Equals(value) != true))
+                {
+                    this.DateCreatedField = value;
+                    this.RaisePropertyChanged("DateCreated");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int FinishedCount
+        {
+            get
+            {
+                return this.FinishedCountField;
+            }
+            set
+            {
+                if ((this.FinishedCountField.Equals(value) != true))
+                {
+                    this.FinishedCountField = value;
+                    this.RaisePropertyChanged("FinishedCount");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int JobCount
+        {
+            get
+            {
+                return this.JobCountField;
+            }
+            set
+            {
+                if ((this.JobCountField.Equals(value) != true))
+                {
+                    this.JobCountField = value;
+                    this.RaisePropertyChanged("JobCount");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid OwnerUserId
+        {
+            get
+            {
+                return this.OwnerUserIdField;
+            }
+            set
+            {
+                if ((this.OwnerUserIdField.Equals(value) != true))
+                {
+                    this.OwnerUserIdField = value;
+                    this.RaisePropertyChanged("OwnerUserId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string OwnerUsername
+        {
+            get
+            {
+                return this.OwnerUsernameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.OwnerUsernameField, value) != true))
+                {
+                    this.OwnerUsernameField = value;
+                    this.RaisePropertyChanged("OwnerUsername");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.Hive.Permission Permission
+        {
+            get
+            {
+                return this.PermissionField;
+            }
+            set
+            {
+                if ((this.PermissionField.Equals(value) != true))
+                {
+                    this.PermissionField = value;
+                    this.RaisePropertyChanged("Permission");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string ResourceNames
+        {
+            get
+            {
+                return this.ResourceNamesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResourceNamesField, value) != true))
+                {
+                    this.ResourceNamesField = value;
+                    this.RaisePropertyChanged("ResourceNames");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Resource", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
+    [System.SerializableAttribute()]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))]
+    public partial class Resource : HeuristicLab.Clients.Hive.NamedHiveItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private int HbIntervalField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Nullable<System.Guid> OwnerUserIdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Nullable<System.Guid> ParentResourceIdField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int HbInterval
+        {
+            get
+            {
+                return this.HbIntervalField;
+            }
+            set
+            {
+                if ((this.HbIntervalField.Equals(value) != true))
+                {
+                    this.HbIntervalField = value;
+                    this.RaisePropertyChanged("HbInterval");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Nullable<System.Guid> OwnerUserId
+        {
+            get
+            {
+                return this.OwnerUserIdField;
+            }
+            set
+            {
+                if ((this.OwnerUserIdField.Equals(value) != true))
+                {
+                    this.OwnerUserIdField = value;
+                    this.RaisePropertyChanged("OwnerUserId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Nullable<System.Guid> ParentResourceId
+        {
+            get
+            {
+                return this.ParentResourceIdField;
+            }
+            set
+            {
+                if ((this.ParentResourceIdField.Equals(value) != true))
+                {
+                    this.ParentResourceIdField = value;
+                    this.RaisePropertyChanged("ParentResourceId");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Slave", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
+    [System.SerializableAttribute()]
+    public partial class Slave : HeuristicLab.Clients.Hive.Resource
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Nullable<int> CoresField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private HeuristicLab.Clients.Hive.CpuArchitecture CpuArchitectureField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Nullable<int> CpuSpeedField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private double CpuUtilizationField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Nullable<int> FreeCoresField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Nullable<int> FreeMemoryField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool IsAllowedToCalculateField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Nullable<bool> IsDisposableField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Nullable<System.DateTime> LastHeartbeatField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Nullable<int> MemoryField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string OperatingSystemField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private HeuristicLab.Clients.Hive.SlaveState SlaveStateField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Nullable<int> Cores
+        {
+            get
+            {
+                return this.CoresField;
+            }
+            set
+            {
+                if ((this.CoresField.Equals(value) != true))
+                {
+                    this.CoresField = value;
+                    this.RaisePropertyChanged("Cores");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.Hive.CpuArchitecture CpuArchitecture
+        {
+            get
+            {
+                return this.CpuArchitectureField;
+            }
+            set
+            {
+                if ((this.CpuArchitectureField.Equals(value) != true))
+                {
+                    this.CpuArchitectureField = value;
+                    this.RaisePropertyChanged("CpuArchitecture");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Nullable<int> CpuSpeed
+        {
+            get
+            {
+                return this.CpuSpeedField;
+            }
+            set
+            {
+                if ((this.CpuSpeedField.Equals(value) != true))
+                {
+                    this.CpuSpeedField = value;
+                    this.RaisePropertyChanged("CpuSpeed");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public double CpuUtilization
+        {
+            get
+            {
+                return this.CpuUtilizationField;
+            }
+            set
+            {
+                if ((this.CpuUtilizationField.Equals(value) != true))
+                {
+                    this.CpuUtilizationField = value;
+                    this.RaisePropertyChanged("CpuUtilization");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Nullable<int> FreeCores
+        {
+            get
+            {
+                return this.FreeCoresField;
+            }
+            set
+            {
+                if ((this.FreeCoresField.Equals(value) != true))
+                {
+                    this.FreeCoresField = value;
+                    this.RaisePropertyChanged("FreeCores");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Nullable<int> FreeMemory
+        {
+            get
+            {
+                return this.FreeMemoryField;
+            }
+            set
+            {
+                if ((this.FreeMemoryField.Equals(value) != true))
+                {
+                    this.FreeMemoryField = value;
+                    this.RaisePropertyChanged("FreeMemory");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool IsAllowedToCalculate
+        {
+            get
+            {
+                return this.IsAllowedToCalculateField;
+            }
+            set
+            {
+                if ((this.IsAllowedToCalculateField.Equals(value) != true))
+                {
+                    this.IsAllowedToCalculateField = value;
+                    this.RaisePropertyChanged("IsAllowedToCalculate");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Nullable<bool> IsDisposable
+        {
+            get
+            {
+                return this.IsDisposableField;
+            }
+            set
+            {
+                if ((this.IsDisposableField.Equals(value) != true))
+                {
+                    this.IsDisposableField = value;
+                    this.RaisePropertyChanged("IsDisposable");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Nullable<System.DateTime> LastHeartbeat
+        {
+            get
+            {
+                return this.LastHeartbeatField;
+            }
+            set
+            {
+                if ((this.LastHeartbeatField.Equals(value) != true))
+                {
+                    this.LastHeartbeatField = value;
+                    this.RaisePropertyChanged("LastHeartbeat");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Nullable<int> Memory
+        {
+            get
+            {
+                return this.MemoryField;
+            }
+            set
+            {
+                if ((this.MemoryField.Equals(value) != true))
+                {
+                    this.MemoryField = value;
+                    this.RaisePropertyChanged("Memory");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string OperatingSystem
+        {
+            get
+            {
+                return this.OperatingSystemField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.OperatingSystemField, value) != true))
+                {
+                    this.OperatingSystemField = value;
+                    this.RaisePropertyChanged("OperatingSystem");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.Hive.SlaveState SlaveState
+        {
+            get
+            {
+                return this.SlaveStateField;
+            }
+            set
+            {
+                if ((this.SlaveStateField.Equals(value) != true))
+                {
+                    this.SlaveStateField = value;
+                    this.RaisePropertyChanged("SlaveState");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="SlaveGroup", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
+    [System.SerializableAttribute()]
+    public partial class SlaveGroup : HeuristicLab.Clients.Hive.Resource
+    {
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Plugin", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
+    [System.SerializableAttribute()]
+    public partial class Plugin : HeuristicLab.Clients.Hive.NamedHiveItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.DateTime DateCreatedField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private byte[] HashField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid UserIdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Version VersionField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime DateCreated
+        {
+            get
+            {
+                return this.DateCreatedField;
+            }
+            set
+            {
+                if ((this.DateCreatedField.Equals(value) != true))
+                {
+                    this.DateCreatedField = value;
+                    this.RaisePropertyChanged("DateCreated");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public byte[] Hash
+        {
+            get
+            {
+                return this.HashField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.HashField, value) != true))
+                {
+                    this.HashField = value;
+                    this.RaisePropertyChanged("Hash");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid UserId
+        {
+            get
+            {
+                return this.UserIdField;
+            }
+            set
+            {
+                if ((this.UserIdField.Equals(value) != true))
+                {
+                    this.UserIdField = value;
+                    this.RaisePropertyChanged("UserId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Version Version
+        {
+            get
+            {
+                return this.VersionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.VersionField, value) != true))
+                {
+                    this.VersionField = value;
+                    this.RaisePropertyChanged("Version");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="JobPermission", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
+    [System.SerializableAttribute()]
+    public partial class JobPermission : HeuristicLab.Clients.Hive.HiveItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid GrantedByUserIdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid GrantedUserIdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid JobIdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private HeuristicLab.Clients.Hive.Permission PermissionField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid GrantedByUserId
+        {
+            get
+            {
+                return this.GrantedByUserIdField;
+            }
+            set
+            {
+                if ((this.GrantedByUserIdField.Equals(value) != true))
+                {
+                    this.GrantedByUserIdField = value;
+                    this.RaisePropertyChanged("GrantedByUserId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid GrantedUserId
+        {
+            get
+            {
+                return this.GrantedUserIdField;
+            }
+            set
+            {
+                if ((this.GrantedUserIdField.Equals(value) != true))
+                {
+                    this.GrantedUserIdField = value;
+                    this.RaisePropertyChanged("GrantedUserId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid JobId
+        {
+            get
+            {
+                return this.JobIdField;
+            }
+            set
+            {
+                if ((this.JobIdField.Equals(value) != true))
+                {
+                    this.JobIdField = value;
+                    this.RaisePropertyChanged("JobId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.Hive.Permission Permission
+        {
+            get
+            {
+                return this.PermissionField;
+            }
+            set
+            {
+                if ((this.PermissionField.Equals(value) != true))
+                {
+                    this.PermissionField = value;
+                    this.RaisePropertyChanged("Permission");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="PluginData", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
+    [System.SerializableAttribute()]
+    public partial class PluginData : HeuristicLab.Clients.Hive.HiveItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private byte[] DataField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string FileNameField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid PluginIdField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public byte[] Data
+        {
+            get
+            {
+                return this.DataField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataField, value) != true))
+                {
+                    this.DataField = value;
+                    this.RaisePropertyChanged("Data");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string FileName
+        {
+            get
+            {
+                return this.FileNameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.FileNameField, value) != true))
+                {
+                    this.FileNameField = value;
+                    this.RaisePropertyChanged("FileName");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid PluginId
+        {
+            get
+            {
+                return this.PluginIdField;
+            }
+            set
+            {
+                if ((this.PluginIdField.Equals(value) != true))
+                {
+                    this.PluginIdField = value;
+                    this.RaisePropertyChanged("PluginId");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ResourcePermission", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
+    [System.SerializableAttribute()]
+    public partial class ResourcePermission : HeuristicLab.Clients.Hive.HiveItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid GrantedByUserIdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid GrantedUserIdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid ResourceIdField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid GrantedByUserId
+        {
+            get
+            {
+                return this.GrantedByUserIdField;
+            }
+            set
+            {
+                if ((this.GrantedByUserIdField.Equals(value) != true))
+                {
+                    this.GrantedByUserIdField = value;
+                    this.RaisePropertyChanged("GrantedByUserId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid GrantedUserId
+        {
+            get
+            {
+                return this.GrantedUserIdField;
+            }
+            set
+            {
+                if ((this.GrantedUserIdField.Equals(value) != true))
+                {
+                    this.GrantedUserIdField = value;
+                    this.RaisePropertyChanged("GrantedUserId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid ResourceId
+        {
+            get
+            {
+                return this.ResourceIdField;
+            }
+            set
+            {
+                if ((this.ResourceIdField.Equals(value) != true))
+                {
+                    this.ResourceIdField = value;
+                    this.RaisePropertyChanged("ResourceId");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Downtime", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
+    [System.SerializableAttribute()]
+    public partial class Downtime : HeuristicLab.Clients.Hive.HiveItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool AllDayEventField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private HeuristicLab.Clients.Hive.DowntimeType DowntimeTypeField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.DateTime EndDateField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool RecurringField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid RecurringIdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid ResourceIdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.DateTime StartDateField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool AllDayEvent
+        {
+            get
+            {
+                return this.AllDayEventField;
+            }
+            set
+            {
+                if ((this.AllDayEventField.Equals(value) != true))
+                {
+                    this.AllDayEventField = value;
+                    this.RaisePropertyChanged("AllDayEvent");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.Hive.DowntimeType DowntimeType
+        {
+            get
+            {
+                return this.DowntimeTypeField;
+            }
+            set
+            {
+                if ((this.DowntimeTypeField.Equals(value) != true))
+                {
+                    this.DowntimeTypeField = value;
+                    this.RaisePropertyChanged("DowntimeType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime EndDate
+        {
+            get
+            {
+                return this.EndDateField;
+            }
+            set
+            {
+                if ((this.EndDateField.Equals(value) != true))
+                {
+                    this.EndDateField = value;
+                    this.RaisePropertyChanged("EndDate");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool Recurring
+        {
+            get
+            {
+                return this.RecurringField;
+            }
+            set
+            {
+                if ((this.RecurringField.Equals(value) != true))
+                {
+                    this.RecurringField = value;
+                    this.RaisePropertyChanged("Recurring");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid RecurringId
+        {
+            get
+            {
+                return this.RecurringIdField;
+            }
+            set
+            {
+                if ((this.RecurringIdField.Equals(value) != true))
+                {
+                    this.RecurringIdField = value;
+                    this.RaisePropertyChanged("RecurringId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid ResourceId
+        {
+            get
+            {
+                return this.ResourceIdField;
+            }
+            set
+            {
+                if ((this.ResourceIdField.Equals(value) != true))
+                {
+                    this.ResourceIdField = value;
+                    this.RaisePropertyChanged("ResourceId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime StartDate
+        {
+            get
+            {
+                return this.StartDateField;
+            }
+            set
+            {
+                if ((this.StartDateField.Equals(value) != true))
+                {
+                    this.StartDateField = value;
+                    this.RaisePropertyChanged("StartDate");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="UserPriority", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
+    [System.SerializableAttribute()]
+    public partial class UserPriority : HeuristicLab.Clients.Hive.HiveItem
+    {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.DateTime DateEnqueuedField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime DateEnqueued
+        {
+            get
+            {
+                return this.DateEnqueuedField;
+            }
+            set
+            {
+                if ((this.DateEnqueuedField.Equals(value) != true))
+                {
+                    this.DateEnqueuedField = value;
+                    this.RaisePropertyChanged("DateEnqueued");
+                }
+            }
+        }
     }
     
@@ -208,132 +1368,4 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="StateLog", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    [System.SerializableAttribute()]
-    public partial class StateLog : HeuristicLab.Clients.Hive.HiveItem
-    {
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.DateTime DateTimeField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private string ExceptionField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Nullable<System.Guid> SlaveIdField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private HeuristicLab.Clients.Hive.TaskState StateField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Guid TaskIdField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Nullable<System.Guid> UserIdField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.DateTime DateTime
-        {
-            get
-            {
-                return this.DateTimeField;
-            }
-            set
-            {
-                if ((this.DateTimeField.Equals(value) != true))
-                {
-                    this.DateTimeField = value;
-                    this.RaisePropertyChanged("DateTime");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Exception
-        {
-            get
-            {
-                return this.ExceptionField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.ExceptionField, value) != true))
-                {
-                    this.ExceptionField = value;
-                    this.RaisePropertyChanged("Exception");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Nullable<System.Guid> SlaveId
-        {
-            get
-            {
-                return this.SlaveIdField;
-            }
-            set
-            {
-                if ((this.SlaveIdField.Equals(value) != true))
-                {
-                    this.SlaveIdField = value;
-                    this.RaisePropertyChanged("SlaveId");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public HeuristicLab.Clients.Hive.TaskState State
-        {
-            get
-            {
-                return this.StateField;
-            }
-            set
-            {
-                if ((this.StateField.Equals(value) != true))
-                {
-                    this.StateField = value;
-                    this.RaisePropertyChanged("State");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Guid TaskId
-        {
-            get
-            {
-                return this.TaskIdField;
-            }
-            set
-            {
-                if ((this.TaskIdField.Equals(value) != true))
-                {
-                    this.TaskIdField = value;
-                    this.RaisePropertyChanged("TaskId");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Nullable<System.Guid> UserId
-        {
-            get
-            {
-                return this.UserIdField;
-            }
-            set
-            {
-                if ((this.UserIdField.Equals(value) != true))
-                {
-                    this.UserIdField = value;
-                    this.RaisePropertyChanged("UserId");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     [System.Runtime.Serialization.DataContractAttribute(Name="Task", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     [System.SerializableAttribute()]
@@ -351,4 +1383,7 @@
         
         [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool IsPrivilegedField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
         private System.Guid JobIdField;
         
@@ -417,4 +1452,21 @@
         
         [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool IsPrivileged
+        {
+            get
+            {
+                return this.IsPrivilegedField;
+            }
+            set
+            {
+                if ((this.IsPrivilegedField.Equals(value) != true))
+                {
+                    this.IsPrivilegedField = value;
+                    this.RaisePropertyChanged("IsPrivileged");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
         public System.Guid JobId
         {
@@ -502,1341 +1554,62 @@
     }
     
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="Downtime", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    [System.SerializableAttribute()]
-    public partial class Downtime : HeuristicLab.Clients.Hive.HiveItem
-    {
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private bool AllDayEventField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private HeuristicLab.Clients.Hive.DowntimeType DowntimeTypeField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.DateTime EndDateField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private bool RecurringField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Guid RecurringIdField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Guid ResourceIdField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.DateTime StartDateField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public bool AllDayEvent
-        {
-            get
-            {
-                return this.AllDayEventField;
-            }
-            set
-            {
-                if ((this.AllDayEventField.Equals(value) != true))
-                {
-                    this.AllDayEventField = value;
-                    this.RaisePropertyChanged("AllDayEvent");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public HeuristicLab.Clients.Hive.DowntimeType DowntimeType
-        {
-            get
-            {
-                return this.DowntimeTypeField;
-            }
-            set
-            {
-                if ((this.DowntimeTypeField.Equals(value) != true))
-                {
-                    this.DowntimeTypeField = value;
-                    this.RaisePropertyChanged("DowntimeType");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.DateTime EndDate
-        {
-            get
-            {
-                return this.EndDateField;
-            }
-            set
-            {
-                if ((this.EndDateField.Equals(value) != true))
-                {
-                    this.EndDateField = value;
-                    this.RaisePropertyChanged("EndDate");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public bool Recurring
-        {
-            get
-            {
-                return this.RecurringField;
-            }
-            set
-            {
-                if ((this.RecurringField.Equals(value) != true))
-                {
-                    this.RecurringField = value;
-                    this.RaisePropertyChanged("Recurring");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Guid RecurringId
-        {
-            get
-            {
-                return this.RecurringIdField;
-            }
-            set
-            {
-                if ((this.RecurringIdField.Equals(value) != true))
-                {
-                    this.RecurringIdField = value;
-                    this.RaisePropertyChanged("RecurringId");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Guid ResourceId
-        {
-            get
-            {
-                return this.ResourceIdField;
-            }
-            set
-            {
-                if ((this.ResourceIdField.Equals(value) != true))
-                {
-                    this.ResourceIdField = value;
-                    this.RaisePropertyChanged("ResourceId");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.DateTime StartDate
-        {
-            get
-            {
-                return this.StartDateField;
-            }
-            set
-            {
-                if ((this.StartDateField.Equals(value) != true))
-                {
-                    this.StartDateField = value;
-                    this.RaisePropertyChanged("StartDate");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Command", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
+    public enum Command : int
+    {
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Stop = 0,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Abort = 1,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Pause = 2,
+    }
+    
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="UserPriority", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    [System.SerializableAttribute()]
-    public partial class UserPriority : HeuristicLab.Clients.Hive.HiveItem
-    {
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.DateTime DateEnqueuedField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.DateTime DateEnqueued
-        {
-            get
-            {
-                return this.DateEnqueuedField;
-            }
-            set
-            {
-                if ((this.DateEnqueuedField.Equals(value) != true))
-                {
-                    this.DateEnqueuedField = value;
-                    this.RaisePropertyChanged("DateEnqueued");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.Runtime.Serialization.DataContractAttribute(Name="TaskState", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
+    public enum TaskState : int
+    {
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Offline = 0,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Waiting = 1,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Transferring = 2,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Calculating = 3,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Paused = 4,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Finished = 5,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Aborted = 6,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Failed = 7,
+    }
+    
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="Statistics", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    [System.SerializableAttribute()]
-    public partial class Statistics : HeuristicLab.Clients.Hive.HiveItem
-    {
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Collections.Generic.List<HeuristicLab.Clients.Hive.SlaveStatistics> SlaveStatisticsField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.DateTime TimeStampField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Collections.Generic.List<HeuristicLab.Clients.Hive.UserStatistics> UserStatisticsField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.SlaveStatistics> SlaveStatistics
-        {
-            get
-            {
-                return this.SlaveStatisticsField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.SlaveStatisticsField, value) != true))
-                {
-                    this.SlaveStatisticsField = value;
-                    this.RaisePropertyChanged("SlaveStatistics");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.DateTime TimeStamp
-        {
-            get
-            {
-                return this.TimeStampField;
-            }
-            set
-            {
-                if ((this.TimeStampField.Equals(value) != true))
-                {
-                    this.TimeStampField = value;
-                    this.RaisePropertyChanged("TimeStamp");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.UserStatistics> UserStatistics
-        {
-            get
-            {
-                return this.UserStatisticsField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.UserStatisticsField, value) != true))
-                {
-                    this.UserStatisticsField = value;
-                    this.RaisePropertyChanged("UserStatistics");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="SlaveStatistics", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    [System.SerializableAttribute()]
-    public partial class SlaveStatistics : HeuristicLab.Clients.Hive.HiveItem
-    {
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private int CoresField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private double CpuUtilizationField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private int FreeCoresField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private int FreeMemoryField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private int MemoryField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Guid SlaveIdField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public int Cores
-        {
-            get
-            {
-                return this.CoresField;
-            }
-            set
-            {
-                if ((this.CoresField.Equals(value) != true))
-                {
-                    this.CoresField = value;
-                    this.RaisePropertyChanged("Cores");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public double CpuUtilization
-        {
-            get
-            {
-                return this.CpuUtilizationField;
-            }
-            set
-            {
-                if ((this.CpuUtilizationField.Equals(value) != true))
-                {
-                    this.CpuUtilizationField = value;
-                    this.RaisePropertyChanged("CpuUtilization");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public int FreeCores
-        {
-            get
-            {
-                return this.FreeCoresField;
-            }
-            set
-            {
-                if ((this.FreeCoresField.Equals(value) != true))
-                {
-                    this.FreeCoresField = value;
-                    this.RaisePropertyChanged("FreeCores");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public int FreeMemory
-        {
-            get
-            {
-                return this.FreeMemoryField;
-            }
-            set
-            {
-                if ((this.FreeMemoryField.Equals(value) != true))
-                {
-                    this.FreeMemoryField = value;
-                    this.RaisePropertyChanged("FreeMemory");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public int Memory
-        {
-            get
-            {
-                return this.MemoryField;
-            }
-            set
-            {
-                if ((this.MemoryField.Equals(value) != true))
-                {
-                    this.MemoryField = value;
-                    this.RaisePropertyChanged("Memory");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Guid SlaveId
-        {
-            get
-            {
-                return this.SlaveIdField;
-            }
-            set
-            {
-                if ((this.SlaveIdField.Equals(value) != true))
-                {
-                    this.SlaveIdField = value;
-                    this.RaisePropertyChanged("SlaveId");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="UserStatistics", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    [System.SerializableAttribute()]
-    public partial class UserStatistics : HeuristicLab.Clients.Hive.HiveItem
-    {
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.TimeSpan ExecutionTimeField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.TimeSpan ExecutionTimeFinishedJobsField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.TimeSpan StartToEndTimeField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private int UsedCoresField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Guid UserIdField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.TimeSpan ExecutionTime
-        {
-            get
-            {
-                return this.ExecutionTimeField;
-            }
-            set
-            {
-                if ((this.ExecutionTimeField.Equals(value) != true))
-                {
-                    this.ExecutionTimeField = value;
-                    this.RaisePropertyChanged("ExecutionTime");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.TimeSpan ExecutionTimeFinishedJobs
-        {
-            get
-            {
-                return this.ExecutionTimeFinishedJobsField;
-            }
-            set
-            {
-                if ((this.ExecutionTimeFinishedJobsField.Equals(value) != true))
-                {
-                    this.ExecutionTimeFinishedJobsField = value;
-                    this.RaisePropertyChanged("ExecutionTimeFinishedJobs");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.TimeSpan StartToEndTime
-        {
-            get
-            {
-                return this.StartToEndTimeField;
-            }
-            set
-            {
-                if ((this.StartToEndTimeField.Equals(value) != true))
-                {
-                    this.StartToEndTimeField = value;
-                    this.RaisePropertyChanged("StartToEndTime");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public int UsedCores
-        {
-            get
-            {
-                return this.UsedCoresField;
-            }
-            set
-            {
-                if ((this.UsedCoresField.Equals(value) != true))
-                {
-                    this.UsedCoresField = value;
-                    this.RaisePropertyChanged("UsedCores");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Guid UserId
-        {
-            get
-            {
-                return this.UserIdField;
-            }
-            set
-            {
-                if ((this.UserIdField.Equals(value) != true))
-                {
-                    this.UserIdField = value;
-                    this.RaisePropertyChanged("UserId");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="JobPermission", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    [System.SerializableAttribute()]
-    public partial class JobPermission : HeuristicLab.Clients.Hive.HiveItem
-    {
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Guid GrantedByUserIdField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Guid GrantedUserIdField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Guid JobIdField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private HeuristicLab.Clients.Hive.Permission PermissionField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Guid GrantedByUserId
-        {
-            get
-            {
-                return this.GrantedByUserIdField;
-            }
-            set
-            {
-                if ((this.GrantedByUserIdField.Equals(value) != true))
-                {
-                    this.GrantedByUserIdField = value;
-                    this.RaisePropertyChanged("GrantedByUserId");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Guid GrantedUserId
-        {
-            get
-            {
-                return this.GrantedUserIdField;
-            }
-            set
-            {
-                if ((this.GrantedUserIdField.Equals(value) != true))
-                {
-                    this.GrantedUserIdField = value;
-                    this.RaisePropertyChanged("GrantedUserId");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Guid JobId
-        {
-            get
-            {
-                return this.JobIdField;
-            }
-            set
-            {
-                if ((this.JobIdField.Equals(value) != true))
-                {
-                    this.JobIdField = value;
-                    this.RaisePropertyChanged("JobId");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public HeuristicLab.Clients.Hive.Permission Permission
-        {
-            get
-            {
-                return this.PermissionField;
-            }
-            set
-            {
-                if ((this.PermissionField.Equals(value) != true))
-                {
-                    this.PermissionField = value;
-                    this.RaisePropertyChanged("Permission");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="PluginData", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    [System.SerializableAttribute()]
-    public partial class PluginData : HeuristicLab.Clients.Hive.HiveItem
-    {
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private byte[] DataField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private string FileNameField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Guid PluginIdField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public byte[] Data
-        {
-            get
-            {
-                return this.DataField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.DataField, value) != true))
-                {
-                    this.DataField = value;
-                    this.RaisePropertyChanged("Data");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string FileName
-        {
-            get
-            {
-                return this.FileNameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.FileNameField, value) != true))
-                {
-                    this.FileNameField = value;
-                    this.RaisePropertyChanged("FileName");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Guid PluginId
-        {
-            get
-            {
-                return this.PluginIdField;
-            }
-            set
-            {
-                if ((this.PluginIdField.Equals(value) != true))
-                {
-                    this.PluginIdField = value;
-                    this.RaisePropertyChanged("PluginId");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="ResourcePermission", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    [System.SerializableAttribute()]
-    public partial class ResourcePermission : HeuristicLab.Clients.Hive.HiveItem
-    {
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Guid GrantedByUserIdField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Guid GrantedUserIdField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Guid ResourceIdField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Guid GrantedByUserId
-        {
-            get
-            {
-                return this.GrantedByUserIdField;
-            }
-            set
-            {
-                if ((this.GrantedByUserIdField.Equals(value) != true))
-                {
-                    this.GrantedByUserIdField = value;
-                    this.RaisePropertyChanged("GrantedByUserId");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Guid GrantedUserId
-        {
-            get
-            {
-                return this.GrantedUserIdField;
-            }
-            set
-            {
-                if ((this.GrantedUserIdField.Equals(value) != true))
-                {
-                    this.GrantedUserIdField = value;
-                    this.RaisePropertyChanged("GrantedUserId");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Guid ResourceId
-        {
-            get
-            {
-                return this.ResourceIdField;
-            }
-            set
-            {
-                if ((this.ResourceIdField.Equals(value) != true))
-                {
-                    this.ResourceIdField = value;
-                    this.RaisePropertyChanged("ResourceId");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="NamedHiveItem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    [System.SerializableAttribute()]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))]
-    public partial class NamedHiveItem : HeuristicLab.Clients.Hive.HiveItem
-    {
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private string DescriptionField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private string NameField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Description
-        {
-            get
-            {
-                return this.DescriptionField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
-                {
-                    this.DescriptionField = value;
-                    this.RaisePropertyChanged("Description");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Name
-        {
-            get
-            {
-                return this.NameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.NameField, value) != true))
-                {
-                    this.NameField = value;
-                    this.RaisePropertyChanged("Name");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="Job", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    [System.SerializableAttribute()]
-    public partial class Job : HeuristicLab.Clients.Hive.NamedHiveItem
-    {
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private int CalculatingCountField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.DateTime DateCreatedField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private int FinishedCountField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private int JobCountField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Guid OwnerUserIdField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private string OwnerUsernameField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private HeuristicLab.Clients.Hive.Permission PermissionField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private string ResourceNamesField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public int CalculatingCount
-        {
-            get
-            {
-                return this.CalculatingCountField;
-            }
-            set
-            {
-                if ((this.CalculatingCountField.Equals(value) != true))
-                {
-                    this.CalculatingCountField = value;
-                    this.RaisePropertyChanged("CalculatingCount");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.DateTime DateCreated
-        {
-            get
-            {
-                return this.DateCreatedField;
-            }
-            set
-            {
-                if ((this.DateCreatedField.Equals(value) != true))
-                {
-                    this.DateCreatedField = value;
-                    this.RaisePropertyChanged("DateCreated");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public int FinishedCount
-        {
-            get
-            {
-                return this.FinishedCountField;
-            }
-            set
-            {
-                if ((this.FinishedCountField.Equals(value) != true))
-                {
-                    this.FinishedCountField = value;
-                    this.RaisePropertyChanged("FinishedCount");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public int JobCount
-        {
-            get
-            {
-                return this.JobCountField;
-            }
-            set
-            {
-                if ((this.JobCountField.Equals(value) != true))
-                {
-                    this.JobCountField = value;
-                    this.RaisePropertyChanged("JobCount");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Guid OwnerUserId
-        {
-            get
-            {
-                return this.OwnerUserIdField;
-            }
-            set
-            {
-                if ((this.OwnerUserIdField.Equals(value) != true))
-                {
-                    this.OwnerUserIdField = value;
-                    this.RaisePropertyChanged("OwnerUserId");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string OwnerUsername
-        {
-            get
-            {
-                return this.OwnerUsernameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.OwnerUsernameField, value) != true))
-                {
-                    this.OwnerUsernameField = value;
-                    this.RaisePropertyChanged("OwnerUsername");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public HeuristicLab.Clients.Hive.Permission Permission
-        {
-            get
-            {
-                return this.PermissionField;
-            }
-            set
-            {
-                if ((this.PermissionField.Equals(value) != true))
-                {
-                    this.PermissionField = value;
-                    this.RaisePropertyChanged("Permission");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string ResourceNames
-        {
-            get
-            {
-                return this.ResourceNamesField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.ResourceNamesField, value) != true))
-                {
-                    this.ResourceNamesField = value;
-                    this.RaisePropertyChanged("ResourceNames");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="Plugin", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    [System.SerializableAttribute()]
-    public partial class Plugin : HeuristicLab.Clients.Hive.NamedHiveItem
-    {
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.DateTime DateCreatedField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private byte[] HashField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Guid UserIdField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Version VersionField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.DateTime DateCreated
-        {
-            get
-            {
-                return this.DateCreatedField;
-            }
-            set
-            {
-                if ((this.DateCreatedField.Equals(value) != true))
-                {
-                    this.DateCreatedField = value;
-                    this.RaisePropertyChanged("DateCreated");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public byte[] Hash
-        {
-            get
-            {
-                return this.HashField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.HashField, value) != true))
-                {
-                    this.HashField = value;
-                    this.RaisePropertyChanged("Hash");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Guid UserId
-        {
-            get
-            {
-                return this.UserIdField;
-            }
-            set
-            {
-                if ((this.UserIdField.Equals(value) != true))
-                {
-                    this.UserIdField = value;
-                    this.RaisePropertyChanged("UserId");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Version Version
-        {
-            get
-            {
-                return this.VersionField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.VersionField, value) != true))
-                {
-                    this.VersionField = value;
-                    this.RaisePropertyChanged("Version");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="Resource", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    [System.SerializableAttribute()]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))]
-    public partial class Resource : HeuristicLab.Clients.Hive.NamedHiveItem
-    {
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private int HbIntervalField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Nullable<System.Guid> OwnerUserIdField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Nullable<System.Guid> ParentResourceIdField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public int HbInterval
-        {
-            get
-            {
-                return this.HbIntervalField;
-            }
-            set
-            {
-                if ((this.HbIntervalField.Equals(value) != true))
-                {
-                    this.HbIntervalField = value;
-                    this.RaisePropertyChanged("HbInterval");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Nullable<System.Guid> OwnerUserId
-        {
-            get
-            {
-                return this.OwnerUserIdField;
-            }
-            set
-            {
-                if ((this.OwnerUserIdField.Equals(value) != true))
-                {
-                    this.OwnerUserIdField = value;
-                    this.RaisePropertyChanged("OwnerUserId");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Nullable<System.Guid> ParentResourceId
-        {
-            get
-            {
-                return this.ParentResourceIdField;
-            }
-            set
-            {
-                if ((this.ParentResourceIdField.Equals(value) != true))
-                {
-                    this.ParentResourceIdField = value;
-                    this.RaisePropertyChanged("ParentResourceId");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="SlaveGroup", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    [System.SerializableAttribute()]
-    public partial class SlaveGroup : HeuristicLab.Clients.Hive.Resource
-    {
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="Slave", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    [System.SerializableAttribute()]
-    public partial class Slave : HeuristicLab.Clients.Hive.Resource
-    {
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Nullable<int> CoresField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private HeuristicLab.Clients.Hive.CpuArchitecture CpuArchitectureField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Nullable<int> CpuSpeedField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private double CpuUtilizationField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Nullable<int> FreeCoresField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Nullable<int> FreeMemoryField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private bool IsAllowedToCalculateField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Nullable<bool> IsDisposableField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Nullable<System.DateTime> LastHeartbeatField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private System.Nullable<int> MemoryField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private string OperatingSystemField;
-        
-        [System.Runtime.Serialization.OptionalFieldAttribute()]
-        private HeuristicLab.Clients.Hive.SlaveState SlaveStateField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Nullable<int> Cores
-        {
-            get
-            {
-                return this.CoresField;
-            }
-            set
-            {
-                if ((this.CoresField.Equals(value) != true))
-                {
-                    this.CoresField = value;
-                    this.RaisePropertyChanged("Cores");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public HeuristicLab.Clients.Hive.CpuArchitecture CpuArchitecture
-        {
-            get
-            {
-                return this.CpuArchitectureField;
-            }
-            set
-            {
-                if ((this.CpuArchitectureField.Equals(value) != true))
-                {
-                    this.CpuArchitectureField = value;
-                    this.RaisePropertyChanged("CpuArchitecture");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Nullable<int> CpuSpeed
-        {
-            get
-            {
-                return this.CpuSpeedField;
-            }
-            set
-            {
-                if ((this.CpuSpeedField.Equals(value) != true))
-                {
-                    this.CpuSpeedField = value;
-                    this.RaisePropertyChanged("CpuSpeed");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public double CpuUtilization
-        {
-            get
-            {
-                return this.CpuUtilizationField;
-            }
-            set
-            {
-                if ((this.CpuUtilizationField.Equals(value) != true))
-                {
-                    this.CpuUtilizationField = value;
-                    this.RaisePropertyChanged("CpuUtilization");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Nullable<int> FreeCores
-        {
-            get
-            {
-                return this.FreeCoresField;
-            }
-            set
-            {
-                if ((this.FreeCoresField.Equals(value) != true))
-                {
-                    this.FreeCoresField = value;
-                    this.RaisePropertyChanged("FreeCores");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Nullable<int> FreeMemory
-        {
-            get
-            {
-                return this.FreeMemoryField;
-            }
-            set
-            {
-                if ((this.FreeMemoryField.Equals(value) != true))
-                {
-                    this.FreeMemoryField = value;
-                    this.RaisePropertyChanged("FreeMemory");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public bool IsAllowedToCalculate
-        {
-            get
-            {
-                return this.IsAllowedToCalculateField;
-            }
-            set
-            {
-                if ((this.IsAllowedToCalculateField.Equals(value) != true))
-                {
-                    this.IsAllowedToCalculateField = value;
-                    this.RaisePropertyChanged("IsAllowedToCalculate");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Nullable<bool> IsDisposable
-        {
-            get
-            {
-                return this.IsDisposableField;
-            }
-            set
-            {
-                if ((this.IsDisposableField.Equals(value) != true))
-                {
-                    this.IsDisposableField = value;
-                    this.RaisePropertyChanged("IsDisposable");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Nullable<System.DateTime> LastHeartbeat
-        {
-            get
-            {
-                return this.LastHeartbeatField;
-            }
-            set
-            {
-                if ((this.LastHeartbeatField.Equals(value) != true))
-                {
-                    this.LastHeartbeatField = value;
-                    this.RaisePropertyChanged("LastHeartbeat");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Nullable<int> Memory
-        {
-            get
-            {
-                return this.MemoryField;
-            }
-            set
-            {
-                if ((this.MemoryField.Equals(value) != true))
-                {
-                    this.MemoryField = value;
-                    this.RaisePropertyChanged("Memory");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string OperatingSystem
-        {
-            get
-            {
-                return this.OperatingSystemField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.OperatingSystemField, value) != true))
-                {
-                    this.OperatingSystemField = value;
-                    this.RaisePropertyChanged("OperatingSystem");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public HeuristicLab.Clients.Hive.SlaveState SlaveState
-        {
-            get
-            {
-                return this.SlaveStateField;
-            }
-            set
-            {
-                if ((this.SlaveStateField.Equals(value) != true))
-                {
-                    this.SlaveStateField = value;
-                    this.RaisePropertyChanged("SlaveState");
-                }
-            }
-        }
+    [System.Runtime.Serialization.DataContractAttribute(Name="Permission", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
+    public enum Permission : int
+    {
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        NotAllowed = 0,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Read = 1,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Full = 2,
     }
     
@@ -1869,21 +1642,6 @@
     
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="Command", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    public enum Command : int
-    {
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Stop = 0,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Abort = 1,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Pause = 2,
-    }
-    
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="TaskState", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    public enum TaskState : int
+    [System.Runtime.Serialization.DataContractAttribute(Name="DowntimeType", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataAccess")]
+    public enum DowntimeType : int
     {
         
@@ -1892,50 +1650,5 @@
         
         [System.Runtime.Serialization.EnumMemberAttribute()]
-        Waiting = 1,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Transferring = 2,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Calculating = 3,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Paused = 4,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Finished = 5,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Aborted = 6,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Failed = 7,
-    }
-    
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="DowntimeType", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataAccess")]
-    public enum DowntimeType : int
-    {
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Offline = 0,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
         Shutdown = 1,
-    }
-    
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="Permission", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
-    public enum Permission : int
-    {
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        NotAllowed = 0,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Read = 1,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Full = 2,
     }
     
@@ -2386,73 +2099,4 @@
     {
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetSlave", ReplyAction="http://tempuri.org/IHiveService/GetSlaveResponse")]
-        HeuristicLab.Clients.Hive.Slave GetSlave(System.Guid slaveId);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetSlaveGroup", ReplyAction="http://tempuri.org/IHiveService/GetSlaveGroupResponse")]
-        HeuristicLab.Clients.Hive.SlaveGroup GetSlaveGroup(System.Guid slaveGroupId);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetSlaves", ReplyAction="http://tempuri.org/IHiveService/GetSlavesResponse")]
-        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Slave> GetSlaves();
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetSlaveGroups", ReplyAction="http://tempuri.org/IHiveService/GetSlaveGroupsResponse")]
-        System.Collections.Generic.List<HeuristicLab.Clients.Hive.SlaveGroup> GetSlaveGroups();
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateSlave", ReplyAction="http://tempuri.org/IHiveService/UpdateSlaveResponse")]
-        void UpdateSlave(HeuristicLab.Clients.Hive.Slave slave);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateSlaveGroup", ReplyAction="http://tempuri.org/IHiveService/UpdateSlaveGroupResponse")]
-        void UpdateSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteSlave", ReplyAction="http://tempuri.org/IHiveService/DeleteSlaveResponse")]
-        void DeleteSlave(System.Guid slaveId);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteSlaveGroup", ReplyAction="http://tempuri.org/IHiveService/DeleteSlaveGroupResponse")]
-        void DeleteSlaveGroup(System.Guid slaveGroupId);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddResourceToGroup", ReplyAction="http://tempuri.org/IHiveService/AddResourceToGroupResponse")]
-        void AddResourceToGroup(System.Guid slaveGroupId, System.Guid resourceId);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/RemoveResourceFromGroup", ReplyAction="http://tempuri.org/IHiveService/RemoveResourceFromGroupResponse")]
-        void RemoveResourceFromGroup(System.Guid slaveGroupId, System.Guid resourceId);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetResourceId", ReplyAction="http://tempuri.org/IHiveService/GetResourceIdResponse")]
-        System.Guid GetResourceId(string resourceName);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetTasksByResourceId", ReplyAction="http://tempuri.org/IHiveService/GetTasksByResourceIdResponse")]
-        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasksByResourceId(System.Guid resourceId);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/TriggerEventManager", ReplyAction="http://tempuri.org/IHiveService/TriggerEventManagerResponse")]
-        void TriggerEventManager(bool force);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetNewHeartbeatInterval", ReplyAction="http://tempuri.org/IHiveService/GetNewHeartbeatIntervalResponse")]
-        int GetNewHeartbeatInterval(System.Guid slaveId);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddDowntime", ReplyAction="http://tempuri.org/IHiveService/AddDowntimeResponse")]
-        System.Guid AddDowntime(HeuristicLab.Clients.Hive.Downtime downtime);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteDowntime", ReplyAction="http://tempuri.org/IHiveService/DeleteDowntimeResponse")]
-        void DeleteDowntime(System.Guid downtimeId);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateDowntime", ReplyAction="http://tempuri.org/IHiveService/UpdateDowntimeResponse")]
-        void UpdateDowntime(HeuristicLab.Clients.Hive.Downtime downtime);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetDowntimesForResource", ReplyAction="http://tempuri.org/IHiveService/GetDowntimesForResourceResponse")]
-        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Downtime> GetDowntimesForResource(System.Guid resourceId);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetUsernameByUserId", ReplyAction="http://tempuri.org/IHiveService/GetUsernameByUserIdResponse")]
-        string GetUsernameByUserId(System.Guid userId);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetUserIdByUsername", ReplyAction="http://tempuri.org/IHiveService/GetUserIdByUsernameResponse")]
-        System.Guid GetUserIdByUsername(string username);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetUserPriorities", ReplyAction="http://tempuri.org/IHiveService/GetUserPrioritiesResponse")]
-        System.Collections.Generic.List<HeuristicLab.Clients.Hive.UserPriority> GetUserPriorities();
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetStatistics", ReplyAction="http://tempuri.org/IHiveService/GetStatisticsResponse")]
-        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Statistics> GetStatistics();
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetStatisticsForTimePeriod", ReplyAction="http://tempuri.org/IHiveService/GetStatisticsForTimePeriodResponse")]
-        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Statistics> GetStatisticsForTimePeriod(System.DateTime from, System.DateTime to);
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddTask", ReplyAction="http://tempuri.org/IHiveService/AddTaskResponse")]
         System.Guid AddTask(HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData, System.Collections.Generic.List<System.Guid> resourceIds);
@@ -2464,13 +2108,4 @@
         HeuristicLab.Clients.Hive.Task GetTask(System.Guid taskId);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetTasks", ReplyAction="http://tempuri.org/IHiveService/GetTasksResponse")]
-        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasks();
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetLightweightTasks", ReplyAction="http://tempuri.org/IHiveService/GetLightweightTasksResponse")]
-        System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightTasks(System.Collections.Generic.List<System.Guid> taskIds);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetLightweightChildTasks", ReplyAction="http://tempuri.org/IHiveService/GetLightweightChildTasksResponse")]
-        System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightChildTasks(System.Nullable<System.Guid> parentTaskId, bool recursive, bool includeParent);
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetLightweightJobTasks", ReplyAction="http://tempuri.org/IHiveService/GetLightweightJobTasksResponse")]
         System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightJobTasks(System.Guid jobId);
@@ -2488,10 +2123,4 @@
         void UpdateTaskData(HeuristicLab.Clients.Hive.Task taskDto, HeuristicLab.Clients.Hive.TaskData taskDataDto);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteTask", ReplyAction="http://tempuri.org/IHiveService/DeleteTaskResponse")]
-        void DeleteTask(System.Guid taskId);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteChildTasks", ReplyAction="http://tempuri.org/IHiveService/DeleteChildTasksResponse")]
-        void DeleteChildTasks(System.Guid parentTaskId);
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateTaskState", ReplyAction="http://tempuri.org/IHiveService/UpdateTaskStateResponse")]
         HeuristicLab.Clients.Hive.Task UpdateTaskState(System.Guid taskId, HeuristicLab.Clients.Hive.TaskState taskState, System.Nullable<System.Guid> slaveId, System.Nullable<System.Guid> userId, string exception);
@@ -2512,7 +2141,4 @@
         System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetJobs();
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetAllJobs", ReplyAction="http://tempuri.org/IHiveService/GetAllJobsResponse")]
-        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetAllJobs();
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddJob", ReplyAction="http://tempuri.org/IHiveService/AddJobResponse")]
         System.Guid AddJob(HeuristicLab.Clients.Hive.Job jobDto);
@@ -2533,4 +2159,7 @@
         System.Collections.Generic.List<HeuristicLab.Clients.Hive.JobPermission> GetJobPermissions(System.Guid jobId);
         
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/IsAllowedPrivileged", ReplyAction="http://tempuri.org/IHiveService/IsAllowedPrivilegedResponse")]
+        bool IsAllowedPrivileged();
+        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/Hello", ReplyAction="http://tempuri.org/IHiveService/HelloResponse")]
         void Hello(HeuristicLab.Clients.Hive.Slave slave);
@@ -2544,7 +2173,4 @@
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetPlugin", ReplyAction="http://tempuri.org/IHiveService/GetPluginResponse")]
         HeuristicLab.Clients.Hive.Plugin GetPlugin(System.Guid pluginId);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetPluginByHash", ReplyAction="http://tempuri.org/IHiveService/GetPluginByHashResponse")]
-        HeuristicLab.Clients.Hive.Plugin GetPluginByHash(byte[] hash);
         
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddPlugin", ReplyAction="http://tempuri.org/IHiveService/AddPluginResponse")]
@@ -2558,7 +2184,4 @@
         System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> GetPluginDatas(System.Collections.Generic.List<System.Guid> pluginIds);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeletePlugin", ReplyAction="http://tempuri.org/IHiveService/DeletePluginResponse")]
-        void DeletePlugin(System.Guid pluginId);
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GrantResourcePermissions", ReplyAction="http://tempuri.org/IHiveService/GrantResourcePermissionsResponse")]
         void GrantResourcePermissions(System.Guid resourceId, System.Collections.Generic.List<System.Guid> grantedUserIds);
@@ -2570,7 +2193,4 @@
         System.Collections.Generic.List<HeuristicLab.Clients.Hive.ResourcePermission> GetResourcePermissions(System.Guid resourceId);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetChildResources", ReplyAction="http://tempuri.org/IHiveService/GetChildResourcesResponse")]
-        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Resource> GetChildResources(System.Guid resourceId);
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddSlave", ReplyAction="http://tempuri.org/IHiveService/AddSlaveResponse")]
         System.Guid AddSlave(HeuristicLab.Clients.Hive.Slave slave);
@@ -2578,4 +2198,61 @@
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddSlaveGroup", ReplyAction="http://tempuri.org/IHiveService/AddSlaveGroupResponse")]
         System.Guid AddSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetSlave", ReplyAction="http://tempuri.org/IHiveService/GetSlaveResponse")]
+        HeuristicLab.Clients.Hive.Slave GetSlave(System.Guid slaveId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetSlaves", ReplyAction="http://tempuri.org/IHiveService/GetSlavesResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Slave> GetSlaves();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetSlaveGroups", ReplyAction="http://tempuri.org/IHiveService/GetSlaveGroupsResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Hive.SlaveGroup> GetSlaveGroups();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateSlave", ReplyAction="http://tempuri.org/IHiveService/UpdateSlaveResponse")]
+        void UpdateSlave(HeuristicLab.Clients.Hive.Slave slave);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateSlaveGroup", ReplyAction="http://tempuri.org/IHiveService/UpdateSlaveGroupResponse")]
+        void UpdateSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteSlave", ReplyAction="http://tempuri.org/IHiveService/DeleteSlaveResponse")]
+        void DeleteSlave(System.Guid slaveId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteSlaveGroup", ReplyAction="http://tempuri.org/IHiveService/DeleteSlaveGroupResponse")]
+        void DeleteSlaveGroup(System.Guid slaveGroupId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddResourceToGroup", ReplyAction="http://tempuri.org/IHiveService/AddResourceToGroupResponse")]
+        void AddResourceToGroup(System.Guid slaveGroupId, System.Guid resourceId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/RemoveResourceFromGroup", ReplyAction="http://tempuri.org/IHiveService/RemoveResourceFromGroupResponse")]
+        void RemoveResourceFromGroup(System.Guid slaveGroupId, System.Guid resourceId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetResourceId", ReplyAction="http://tempuri.org/IHiveService/GetResourceIdResponse")]
+        System.Guid GetResourceId(string resourceName);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/TriggerEventManager", ReplyAction="http://tempuri.org/IHiveService/TriggerEventManagerResponse")]
+        void TriggerEventManager(bool force);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetNewHeartbeatInterval", ReplyAction="http://tempuri.org/IHiveService/GetNewHeartbeatIntervalResponse")]
+        int GetNewHeartbeatInterval(System.Guid slaveId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/AddDowntime", ReplyAction="http://tempuri.org/IHiveService/AddDowntimeResponse")]
+        System.Guid AddDowntime(HeuristicLab.Clients.Hive.Downtime downtime);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/DeleteDowntime", ReplyAction="http://tempuri.org/IHiveService/DeleteDowntimeResponse")]
+        void DeleteDowntime(System.Guid downtimeId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/UpdateDowntime", ReplyAction="http://tempuri.org/IHiveService/UpdateDowntimeResponse")]
+        void UpdateDowntime(HeuristicLab.Clients.Hive.Downtime downtimeDto);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetDowntimesForResource", ReplyAction="http://tempuri.org/IHiveService/GetDowntimesForResourceResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Hive.Downtime> GetDowntimesForResource(System.Guid resourceId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetUsernameByUserId", ReplyAction="http://tempuri.org/IHiveService/GetUsernameByUserIdResponse")]
+        string GetUsernameByUserId(System.Guid userId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetUserIdByUsername", ReplyAction="http://tempuri.org/IHiveService/GetUserIdByUsernameResponse")]
+        System.Guid GetUserIdByUsername(string username);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IHiveService/GetUserPriorities", ReplyAction="http://tempuri.org/IHiveService/GetUserPrioritiesResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.Hive.UserPriority> GetUserPriorities();
     }
     
@@ -2614,4 +2291,169 @@
         }
         
+        public System.Guid AddTask(HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData, System.Collections.Generic.List<System.Guid> resourceIds)
+        {
+            return base.Channel.AddTask(task, taskData, resourceIds);
+        }
+        
+        public System.Guid AddChildTask(System.Guid parentTaskId, HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData)
+        {
+            return base.Channel.AddChildTask(parentTaskId, task, taskData);
+        }
+        
+        public HeuristicLab.Clients.Hive.Task GetTask(System.Guid taskId)
+        {
+            return base.Channel.GetTask(taskId);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightJobTasks(System.Guid jobId)
+        {
+            return base.Channel.GetLightweightJobTasks(jobId);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightJobTasksWithoutStateLog(System.Guid jobId)
+        {
+            return base.Channel.GetLightweightJobTasksWithoutStateLog(jobId);
+        }
+        
+        public HeuristicLab.Clients.Hive.TaskData GetTaskData(System.Guid taskId)
+        {
+            return base.Channel.GetTaskData(taskId);
+        }
+        
+        public void UpdateTask(HeuristicLab.Clients.Hive.Task taskDto)
+        {
+            base.Channel.UpdateTask(taskDto);
+        }
+        
+        public void UpdateTaskData(HeuristicLab.Clients.Hive.Task taskDto, HeuristicLab.Clients.Hive.TaskData taskDataDto)
+        {
+            base.Channel.UpdateTaskData(taskDto, taskDataDto);
+        }
+        
+        public HeuristicLab.Clients.Hive.Task UpdateTaskState(System.Guid taskId, HeuristicLab.Clients.Hive.TaskState taskState, System.Nullable<System.Guid> slaveId, System.Nullable<System.Guid> userId, string exception)
+        {
+            return base.Channel.UpdateTaskState(taskId, taskState, slaveId, userId, exception);
+        }
+        
+        public void StopTask(System.Guid taskId)
+        {
+            base.Channel.StopTask(taskId);
+        }
+        
+        public void PauseTask(System.Guid taskId)
+        {
+            base.Channel.PauseTask(taskId);
+        }
+        
+        public void RestartTask(System.Guid taskId)
+        {
+            base.Channel.RestartTask(taskId);
+        }
+        
+        public HeuristicLab.Clients.Hive.Job GetJob(System.Guid id)
+        {
+            return base.Channel.GetJob(id);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetJobs()
+        {
+            return base.Channel.GetJobs();
+        }
+        
+        public System.Guid AddJob(HeuristicLab.Clients.Hive.Job jobDto)
+        {
+            return base.Channel.AddJob(jobDto);
+        }
+        
+        public void UpdateJob(HeuristicLab.Clients.Hive.Job jobDto)
+        {
+            base.Channel.UpdateJob(jobDto);
+        }
+        
+        public void DeleteJob(System.Guid JobId)
+        {
+            base.Channel.DeleteJob(JobId);
+        }
+        
+        public void GrantPermission(System.Guid jobId, System.Guid grantedUserId, HeuristicLab.Clients.Hive.Permission permission)
+        {
+            base.Channel.GrantPermission(jobId, grantedUserId, permission);
+        }
+        
+        public void RevokePermission(System.Guid hiveExperimentId, System.Guid grantedUserId)
+        {
+            base.Channel.RevokePermission(hiveExperimentId, grantedUserId);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.JobPermission> GetJobPermissions(System.Guid jobId)
+        {
+            return base.Channel.GetJobPermissions(jobId);
+        }
+        
+        public bool IsAllowedPrivileged()
+        {
+            return base.Channel.IsAllowedPrivileged();
+        }
+        
+        public void Hello(HeuristicLab.Clients.Hive.Slave slave)
+        {
+            base.Channel.Hello(slave);
+        }
+        
+        public void GoodBye(System.Guid slaveId)
+        {
+            base.Channel.GoodBye(slaveId);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.MessageContainer> Heartbeat(HeuristicLab.Clients.Hive.Heartbeat heartbeat1)
+        {
+            return base.Channel.Heartbeat(heartbeat1);
+        }
+        
+        public HeuristicLab.Clients.Hive.Plugin GetPlugin(System.Guid pluginId)
+        {
+            return base.Channel.GetPlugin(pluginId);
+        }
+        
+        public System.Guid AddPlugin(HeuristicLab.Clients.Hive.Plugin plugin, System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> pluginData)
+        {
+            return base.Channel.AddPlugin(plugin, pluginData);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Plugin> GetPlugins()
+        {
+            return base.Channel.GetPlugins();
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> GetPluginDatas(System.Collections.Generic.List<System.Guid> pluginIds)
+        {
+            return base.Channel.GetPluginDatas(pluginIds);
+        }
+        
+        public void GrantResourcePermissions(System.Guid resourceId, System.Collections.Generic.List<System.Guid> grantedUserIds)
+        {
+            base.Channel.GrantResourcePermissions(resourceId, grantedUserIds);
+        }
+        
+        public void RevokeResourcePermissions(System.Guid resourceId, System.Collections.Generic.List<System.Guid> grantedUserIds)
+        {
+            base.Channel.RevokeResourcePermissions(resourceId, grantedUserIds);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.ResourcePermission> GetResourcePermissions(System.Guid resourceId)
+        {
+            return base.Channel.GetResourcePermissions(resourceId);
+        }
+        
+        public System.Guid AddSlave(HeuristicLab.Clients.Hive.Slave slave)
+        {
+            return base.Channel.AddSlave(slave);
+        }
+        
+        public System.Guid AddSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup)
+        {
+            return base.Channel.AddSlaveGroup(slaveGroup);
+        }
+        
         public HeuristicLab.Clients.Hive.Slave GetSlave(System.Guid slaveId)
         {
@@ -2619,9 +2461,4 @@
         }
         
-        public HeuristicLab.Clients.Hive.SlaveGroup GetSlaveGroup(System.Guid slaveGroupId)
-        {
-            return base.Channel.GetSlaveGroup(slaveGroupId);
-        }
-        
         public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Slave> GetSlaves()
         {
@@ -2669,9 +2506,4 @@
         }
         
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasksByResourceId(System.Guid resourceId)
-        {
-            return base.Channel.GetTasksByResourceId(resourceId);
-        }
-        
         public void TriggerEventManager(bool force)
         {
@@ -2694,7 +2526,7 @@
         }
         
-        public void UpdateDowntime(HeuristicLab.Clients.Hive.Downtime downtime)
-        {
-            base.Channel.UpdateDowntime(downtime);
+        public void UpdateDowntime(HeuristicLab.Clients.Hive.Downtime downtimeDto)
+        {
+            base.Channel.UpdateDowntime(downtimeDto);
         }
         
@@ -2718,219 +2550,4 @@
             return base.Channel.GetUserPriorities();
         }
-        
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Statistics> GetStatistics()
-        {
-            return base.Channel.GetStatistics();
-        }
-        
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Statistics> GetStatisticsForTimePeriod(System.DateTime from, System.DateTime to)
-        {
-            return base.Channel.GetStatisticsForTimePeriod(from, to);
-        }
-        
-        public System.Guid AddTask(HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData, System.Collections.Generic.List<System.Guid> resourceIds)
-        {
-            return base.Channel.AddTask(task, taskData, resourceIds);
-        }
-        
-        public System.Guid AddChildTask(System.Guid parentTaskId, HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData)
-        {
-            return base.Channel.AddChildTask(parentTaskId, task, taskData);
-        }
-        
-        public HeuristicLab.Clients.Hive.Task GetTask(System.Guid taskId)
-        {
-            return base.Channel.GetTask(taskId);
-        }
-        
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasks()
-        {
-            return base.Channel.GetTasks();
-        }
-        
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightTasks(System.Collections.Generic.List<System.Guid> taskIds)
-        {
-            return base.Channel.GetLightweightTasks(taskIds);
-        }
-        
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightChildTasks(System.Nullable<System.Guid> parentTaskId, bool recursive, bool includeParent)
-        {
-            return base.Channel.GetLightweightChildTasks(parentTaskId, recursive, includeParent);
-        }
-        
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightJobTasks(System.Guid jobId)
-        {
-            return base.Channel.GetLightweightJobTasks(jobId);
-        }
-        
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightJobTasksWithoutStateLog(System.Guid jobId)
-        {
-            return base.Channel.GetLightweightJobTasksWithoutStateLog(jobId);
-        }
-        
-        public HeuristicLab.Clients.Hive.TaskData GetTaskData(System.Guid taskId)
-        {
-            return base.Channel.GetTaskData(taskId);
-        }
-        
-        public void UpdateTask(HeuristicLab.Clients.Hive.Task taskDto)
-        {
-            base.Channel.UpdateTask(taskDto);
-        }
-        
-        public void UpdateTaskData(HeuristicLab.Clients.Hive.Task taskDto, HeuristicLab.Clients.Hive.TaskData taskDataDto)
-        {
-            base.Channel.UpdateTaskData(taskDto, taskDataDto);
-        }
-        
-        public void DeleteTask(System.Guid taskId)
-        {
-            base.Channel.DeleteTask(taskId);
-        }
-        
-        public void DeleteChildTasks(System.Guid parentTaskId)
-        {
-            base.Channel.DeleteChildTasks(parentTaskId);
-        }
-        
-        public HeuristicLab.Clients.Hive.Task UpdateTaskState(System.Guid taskId, HeuristicLab.Clients.Hive.TaskState taskState, System.Nullable<System.Guid> slaveId, System.Nullable<System.Guid> userId, string exception)
-        {
-            return base.Channel.UpdateTaskState(taskId, taskState, slaveId, userId, exception);
-        }
-        
-        public void StopTask(System.Guid taskId)
-        {
-            base.Channel.StopTask(taskId);
-        }
-        
-        public void PauseTask(System.Guid taskId)
-        {
-            base.Channel.PauseTask(taskId);
-        }
-        
-        public void RestartTask(System.Guid taskId)
-        {
-            base.Channel.RestartTask(taskId);
-        }
-        
-        public HeuristicLab.Clients.Hive.Job GetJob(System.Guid id)
-        {
-            return base.Channel.GetJob(id);
-        }
-        
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetJobs()
-        {
-            return base.Channel.GetJobs();
-        }
-        
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetAllJobs()
-        {
-            return base.Channel.GetAllJobs();
-        }
-        
-        public System.Guid AddJob(HeuristicLab.Clients.Hive.Job jobDto)
-        {
-            return base.Channel.AddJob(jobDto);
-        }
-        
-        public void UpdateJob(HeuristicLab.Clients.Hive.Job jobDto)
-        {
-            base.Channel.UpdateJob(jobDto);
-        }
-        
-        public void DeleteJob(System.Guid JobId)
-        {
-            base.Channel.DeleteJob(JobId);
-        }
-        
-        public void GrantPermission(System.Guid jobId, System.Guid grantedUserId, HeuristicLab.Clients.Hive.Permission permission)
-        {
-            base.Channel.GrantPermission(jobId, grantedUserId, permission);
-        }
-        
-        public void RevokePermission(System.Guid hiveExperimentId, System.Guid grantedUserId)
-        {
-            base.Channel.RevokePermission(hiveExperimentId, grantedUserId);
-        }
-        
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.JobPermission> GetJobPermissions(System.Guid jobId)
-        {
-            return base.Channel.GetJobPermissions(jobId);
-        }
-        
-        public void Hello(HeuristicLab.Clients.Hive.Slave slave)
-        {
-            base.Channel.Hello(slave);
-        }
-        
-        public void GoodBye(System.Guid slaveId)
-        {
-            base.Channel.GoodBye(slaveId);
-        }
-        
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.MessageContainer> Heartbeat(HeuristicLab.Clients.Hive.Heartbeat heartbeat1)
-        {
-            return base.Channel.Heartbeat(heartbeat1);
-        }
-        
-        public HeuristicLab.Clients.Hive.Plugin GetPlugin(System.Guid pluginId)
-        {
-            return base.Channel.GetPlugin(pluginId);
-        }
-        
-        public HeuristicLab.Clients.Hive.Plugin GetPluginByHash(byte[] hash)
-        {
-            return base.Channel.GetPluginByHash(hash);
-        }
-        
-        public System.Guid AddPlugin(HeuristicLab.Clients.Hive.Plugin plugin, System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> pluginData)
-        {
-            return base.Channel.AddPlugin(plugin, pluginData);
-        }
-        
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Plugin> GetPlugins()
-        {
-            return base.Channel.GetPlugins();
-        }
-        
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> GetPluginDatas(System.Collections.Generic.List<System.Guid> pluginIds)
-        {
-            return base.Channel.GetPluginDatas(pluginIds);
-        }
-        
-        public void DeletePlugin(System.Guid pluginId)
-        {
-            base.Channel.DeletePlugin(pluginId);
-        }
-        
-        public void GrantResourcePermissions(System.Guid resourceId, System.Collections.Generic.List<System.Guid> grantedUserIds)
-        {
-            base.Channel.GrantResourcePermissions(resourceId, grantedUserIds);
-        }
-        
-        public void RevokeResourcePermissions(System.Guid resourceId, System.Collections.Generic.List<System.Guid> grantedUserIds)
-        {
-            base.Channel.RevokeResourcePermissions(resourceId, grantedUserIds);
-        }
-        
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.ResourcePermission> GetResourcePermissions(System.Guid resourceId)
-        {
-            return base.Channel.GetResourcePermissions(resourceId);
-        }
-        
-        public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Resource> GetChildResources(System.Guid resourceId)
-        {
-            return base.Channel.GetChildResources(resourceId);
-        }
-        
-        public System.Guid AddSlave(HeuristicLab.Clients.Hive.Slave slave)
-        {
-            return base.Channel.AddSlave(slave);
-        }
-        
-        public System.Guid AddSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup)
-        {
-            return base.Channel.AddSlaveGroup(slaveGroup);
-        }
     }
 }
Index: stable/HeuristicLab.Clients.Hive/3.3/ServiceClients/SlaveStatistics.cs
===================================================================
--- stable/HeuristicLab.Clients.Hive/3.3/ServiceClients/SlaveStatistics.cs	(revision 15260)
+++ 	(revision )
@@ -1,40 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2016 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 HeuristicLab.Common;
-
-namespace HeuristicLab.Clients.Hive {
-  public partial class SlaveStatistics : IDeepCloneable {
-    protected SlaveStatistics(SlaveStatistics original, Cloner cloner)
-      : base(original, cloner) {
-      this.Id = original.Id;
-      this.Cores = original.Cores;
-      this.CpuUtilization = original.CpuUtilization;
-      this.FreeCores = original.FreeCores;
-      this.FreeMemory = original.FreeMemory;
-      this.Memory = original.Memory;
-      this.SlaveId = original.SlaveId;
-    }
-    public override IDeepCloneable Clone(Cloner cloner) {
-      return new SlaveStatistics(this, cloner);
-    }
-  }
-}
Index: stable/HeuristicLab.Clients.Hive/3.3/ServiceClients/Statistics.cs
===================================================================
--- stable/HeuristicLab.Clients.Hive/3.3/ServiceClients/Statistics.cs	(revision 15260)
+++ 	(revision )
@@ -1,37 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2016 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 HeuristicLab.Common;
-
-namespace HeuristicLab.Clients.Hive {
-  public partial class Statistics : IDeepCloneable {
-    protected Statistics(Statistics original, Cloner cloner)
-      : base(original, cloner) {
-      this.Id = original.Id;
-      this.SlaveStatistics = original.SlaveStatistics;
-      this.TimeStamp = original.TimeStamp;
-      this.UserStatistics = original.UserStatistics;
-    }
-    public override IDeepCloneable Clone(Cloner cloner) {
-      return new Statistics(this, cloner);
-    }
-  }
-}
Index: stable/HeuristicLab.Clients.Hive/3.3/ServiceClients/UserStatistics.cs
===================================================================
--- stable/HeuristicLab.Clients.Hive/3.3/ServiceClients/UserStatistics.cs	(revision 15260)
+++ 	(revision )
@@ -1,39 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2016 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 HeuristicLab.Common;
-
-namespace HeuristicLab.Clients.Hive {
-  public partial class UserStatistics : IDeepCloneable {
-    protected UserStatistics(UserStatistics original, Cloner cloner)
-      : base(original, cloner) {
-      this.Id = original.Id;
-      this.ExecutionTime = original.ExecutionTime;
-      this.ExecutionTimeFinishedJobs = original.ExecutionTimeFinishedJobs;
-      this.StartToEndTime = original.StartToEndTime;
-      this.UsedCores = original.UsedCores;
-      this.UserId = original.UserId;
-    }
-    public override IDeepCloneable Clone(Cloner cloner) {
-      return new UserStatistics(this, cloner);
-    }
-  }
-}
Index: stable/HeuristicLab.Clients.Hive/3.3/Settings.Designer.cs
===================================================================
--- stable/HeuristicLab.Clients.Hive/3.3/Settings.Designer.cs	(revision 15260)
+++ stable/HeuristicLab.Clients.Hive/3.3/Settings.Designer.cs	(revision 15261)
@@ -2,5 +2,5 @@
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:4.0.30319.34014
+//     Runtime Version:4.0.30319.42000
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
@@ -13,5 +13,5 @@
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
     internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
@@ -80,8 +80,17 @@
         [global::System.Configuration.ApplicationScopedSettingAttribute()]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute("3")]
+        public int MaxEndpointRetries {
+            get {
+                return ((int)(this["MaxEndpointRetries"]));
+            }
+        }
+        
+        [global::System.Configuration.ApplicationScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
         [global::System.Configuration.DefaultSettingValueAttribute(@"<?xml version=""1.0"" encoding=""utf-16""?>
 <ArrayOfString xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">
-  <string>netTcpBinding_IHiveService</string>
-  <string>wsHttpBinding_IHiveService</string>
+  <string>NetBinding_IHiveService</string>
+  <string>WSHttpBinding_IHiveService</string>
 </ArrayOfString>")]
         public global::System.Collections.Specialized.StringCollection EndpointConfigurationPriorities {
@@ -90,13 +99,4 @@
             }
         }
-        
-        [global::System.Configuration.ApplicationScopedSettingAttribute()]
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.Configuration.DefaultSettingValueAttribute("3")]
-        public int MaxEndpointRetries {
-            get {
-                return ((int)(this["MaxEndpointRetries"]));
-            }
-        }
     }
 }
Index: stable/HeuristicLab.Clients.Hive/3.3/Settings.settings
===================================================================
--- stable/HeuristicLab.Clients.Hive/3.3/Settings.settings	(revision 15260)
+++ stable/HeuristicLab.Clients.Hive/3.3/Settings.settings	(revision 15261)
@@ -21,13 +21,13 @@
       <Value Profile="(Default)">anonymous</Value>
     </Setting>
+    <Setting Name="MaxEndpointRetries" Type="System.Int32" Scope="Application">
+      <Value Profile="(Default)">3</Value>
+    </Setting>
     <Setting Name="EndpointConfigurationPriorities" Type="System.Collections.Specialized.StringCollection" Scope="Application">
       <Value Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
 &lt;ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
-  &lt;string&gt;netTcpBinding_IHiveService&lt;/string&gt;
-  &lt;string&gt;wsHttpBinding_IHiveService&lt;/string&gt;
+  &lt;string&gt;NetBinding_IHiveService&lt;/string&gt;
+  &lt;string&gt;WSHttpBinding_IHiveService&lt;/string&gt;
 &lt;/ArrayOfString&gt;</Value>
-    </Setting>
-    <Setting Name="MaxEndpointRetries" Type="System.Int32" Scope="Application">
-      <Value Profile="(Default)">3</Value>
     </Setting>
   </Settings>
Index: stable/HeuristicLab.Clients.Hive/3.3/app.config
===================================================================
--- stable/HeuristicLab.Clients.Hive/3.3/app.config	(revision 15260)
+++ stable/HeuristicLab.Clients.Hive/3.3/app.config	(revision 15261)
@@ -1,3 +1,3 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <configSections>
@@ -6,4 +6,5 @@
     </sectionGroup>
   </configSections>
+
   <applicationSettings>
     <HeuristicLab.Clients.Hive.Settings>
@@ -26,60 +27,65 @@
         <value>anonymous</value>
       </setting>
+      <setting name="MaxEndpointRetries" serializeAs="String">
+        <value>3</value>
+      </setting>
       <setting name="EndpointConfigurationPriorities" serializeAs="Xml">
         <value>
-          <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-            <string>netTcpBinding_IHiveService</string>
-            <string>wsHttpBinding_IHiveService</string>
+          <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+            <string>NetBinding_IHiveService</string>
+            <string>WSHttpBinding_IHiveService</string>
           </ArrayOfString>
         </value>
       </setting>
-      <setting name="MaxEndpointRetries" serializeAs="String">
-        <value>3</value>
-      </setting>
     </HeuristicLab.Clients.Hive.Settings>
   </applicationSettings>
+
+  <!--
+    !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
+    If you want to update the configuration with the GenerateServiceClients.cmd, make sure to remove all child nodes of system.serviceModel first.
+  -->
   <system.serviceModel>
-    <behaviors>
-      <endpointBehaviors>
-        <behavior name="HiveBehaviorConfiguration">
-          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
-        </behavior>
-      </endpointBehaviors>
-    </behaviors>
     <bindings>
+      <netTcpBinding>
+        <binding name="NetBinding_IHiveService" receiveTimeout="00:20:00"
+          sendTimeout="00:20:00" maxBufferPoolSize="2147483647" maxBufferSize="2147483647"
+          maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security mode="TransportWithMessageCredential">
+            <message clientCredentialType="UserName" />
+          </security>
+        </binding>
+      </netTcpBinding>
       <wsHttpBinding>
-        <binding name="wsHttpBinding_Hive" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:35:00" sendTimeout="00:35:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
-          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
-          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
-          <security mode="Message">
-            <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
-            <message clientCredentialType="UserName" negotiateServiceCredential="true" algorithmSuite="Default"/>
+        <binding name="WSHttpBinding_IHiveService" receiveTimeout="00:20:00"
+          sendTimeout="00:20:00" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security>
+            <message clientCredentialType="UserName" />
           </security>
         </binding>
       </wsHttpBinding>
-      <netTcpBinding>
-        <binding name="netTcpBinding_Hive" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:35:00" sendTimeout="00:35:00" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
-          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
-          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
-          <security mode="TransportWithMessageCredential">
-            <transport clientCredentialType="Windows"/>
-            <message clientCredentialType="UserName" algorithmSuite="Default"/>
-          </security>
-        </binding>
-      </netTcpBinding>
     </bindings>
     <client>
-      <endpoint address="http://services.heuristiclab.com/Hive-3.3/HiveService.svc" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding_Hive" contract="HeuristicLab.Clients.Hive.IHiveService" name="wsHttpBinding_IHiveService" behaviorConfiguration="HiveBehaviorConfiguration">
+      <endpoint address="http://services.heuristiclab.com/Hive-3.3/HiveService.svc"
+        binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IHiveService"
+        contract="HeuristicLab.Clients.Hive.IHiveService" name="WSHttpBinding_IHiveService">
         <identity>
-          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
+          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ==" />
         </identity>
       </endpoint>
-      <endpoint address="net.tcp://services.heuristiclab.com/Hive-3.3/HiveService.svc" binding="netTcpBinding" bindingConfiguration="netTcpBinding_Hive" contract="HeuristicLab.Clients.Hive.IHiveService" name="netTcpBinding_IHiveService" behaviorConfiguration="HiveBehaviorConfiguration">
+      <endpoint address="net.tcp://services.heuristiclab.com/Hive-3.3/HiveService.svc"
+        binding="netTcpBinding" bindingConfiguration="NetBinding_IHiveService"
+        contract="HeuristicLab.Clients.Hive.IHiveService" name="NetBinding_IHiveService">
         <identity>
-          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
+          <dns value="services.heuristiclab.com" />
         </identity>
       </endpoint>
     </client>
   </system.serviceModel>
+
   <startup>
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
Index: stable/HeuristicLab.Clients.OKB/3.3/Administration/ServiceClient/AdministrationServiceClient.cs
===================================================================
--- stable/HeuristicLab.Clients.OKB/3.3/Administration/ServiceClient/AdministrationServiceClient.cs	(revision 15260)
+++ stable/HeuristicLab.Clients.OKB/3.3/Administration/ServiceClient/AdministrationServiceClient.cs	(revision 15261)
@@ -2,5 +2,5 @@
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:4.0.30319.1
+//     Runtime Version:4.0.30319.42000
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
@@ -9,472 +9,604 @@
 //------------------------------------------------------------------------------
 
-namespace HeuristicLab.Clients.OKB.Administration {
-
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "Platform", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Administration." +
-      "DataTransfer")]
-  public partial class Platform : HeuristicLab.Clients.OKB.Administration.NamedOKBItem {
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "OKBItem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Administration." +
-      "DataTransfer")]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.NamedOKBItem))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.AlgorithmClass))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.Algorithm))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.ProblemClass))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.Problem))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.Platform))]
-  public partial class OKBItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
-
-    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
-    private long IdField;
-
-    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
-      get {
-        return this.extensionDataField;
-      }
-      set {
-        this.extensionDataField = value;
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long Id {
-      get {
-        return this.IdField;
-      }
-      set {
-        if ((this.IdField.Equals(value) != true)) {
-          this.IdField = value;
-          this.RaisePropertyChanged("Id");
-        }
-      }
-    }
-
-    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "NamedOKBItem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Administration." +
-      "DataTransfer")]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.AlgorithmClass))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.Algorithm))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.ProblemClass))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.Problem))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.Platform))]
-  public partial class NamedOKBItem : HeuristicLab.Clients.OKB.Administration.OKBItem {
-
-    private string DescriptionField;
-
-    private string NameField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Description {
-      get {
-        return this.DescriptionField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
-          this.DescriptionField = value;
-          this.RaisePropertyChanged("Description");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string Name {
-      get {
-        return this.NameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.NameField, value) != true)) {
-          this.NameField = value;
-          this.RaisePropertyChanged("Name");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmClass", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Administration." +
-      "DataTransfer")]
-  public partial class AlgorithmClass : HeuristicLab.Clients.OKB.Administration.NamedOKBItem {
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "Algorithm", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Administration." +
-      "DataTransfer")]
-  public partial class Algorithm : HeuristicLab.Clients.OKB.Administration.NamedOKBItem {
-
-    private long AlgorithmClassIdField;
-
-    private string DataTypeNameField;
-
-    private string DataTypeTypeNameField;
-
-    private long PlatformIdField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long AlgorithmClassId {
-      get {
-        return this.AlgorithmClassIdField;
-      }
-      set {
-        if ((this.AlgorithmClassIdField.Equals(value) != true)) {
-          this.AlgorithmClassIdField = value;
-          this.RaisePropertyChanged("AlgorithmClassId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string DataTypeName {
-      get {
-        return this.DataTypeNameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeNameField, value) != true)) {
-          this.DataTypeNameField = value;
-          this.RaisePropertyChanged("DataTypeName");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string DataTypeTypeName {
-      get {
-        return this.DataTypeTypeNameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeTypeNameField, value) != true)) {
-          this.DataTypeTypeNameField = value;
-          this.RaisePropertyChanged("DataTypeTypeName");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long PlatformId {
-      get {
-        return this.PlatformIdField;
-      }
-      set {
-        if ((this.PlatformIdField.Equals(value) != true)) {
-          this.PlatformIdField = value;
-          this.RaisePropertyChanged("PlatformId");
-        }
-      }
-    }
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemClass", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Administration." +
-      "DataTransfer")]
-  public partial class ProblemClass : HeuristicLab.Clients.OKB.Administration.NamedOKBItem {
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "Problem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Administration." +
-      "DataTransfer")]
-  public partial class Problem : HeuristicLab.Clients.OKB.Administration.NamedOKBItem {
-
-    private string DataTypeNameField;
-
-    private string DataTypeTypeNameField;
-
-    private long PlatformIdField;
-
-    private long ProblemClassIdField;
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string DataTypeName {
-      get {
-        return this.DataTypeNameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeNameField, value) != true)) {
-          this.DataTypeNameField = value;
-          this.RaisePropertyChanged("DataTypeName");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public string DataTypeTypeName {
-      get {
-        return this.DataTypeTypeNameField;
-      }
-      set {
-        if ((object.ReferenceEquals(this.DataTypeTypeNameField, value) != true)) {
-          this.DataTypeTypeNameField = value;
-          this.RaisePropertyChanged("DataTypeTypeName");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long PlatformId {
-      get {
-        return this.PlatformIdField;
-      }
-      set {
-        if ((this.PlatformIdField.Equals(value) != true)) {
-          this.PlatformIdField = value;
-          this.RaisePropertyChanged("PlatformId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
-    public long ProblemClassId {
-      get {
-        return this.ProblemClassIdField;
-      }
-      set {
-        if ((this.ProblemClassIdField.Equals(value) != true)) {
-          this.ProblemClassIdField = value;
-          this.RaisePropertyChanged("ProblemClassId");
-        }
-      }
-    }
-  }
-
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  [System.ServiceModel.ServiceContractAttribute(ConfigurationName = "HeuristicLab.Clients.OKB.Administration.IAdministrationService")]
-  public interface IAdministrationService {
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateProblemUsers", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateProblemUsersResponse")]
-    void UpdateProblemUsers(long problemId, System.Collections.Generic.List<System.Guid> users);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetProblemData", ReplyAction = "http://tempuri.org/IAdministrationService/GetProblemDataResponse")]
-    byte[] GetProblemData(long problemId);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateProblemData", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateProblemDataResponse")]
-    void UpdateProblemData(long problemId, byte[] data);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetPlatforms", ReplyAction = "http://tempuri.org/IAdministrationService/GetPlatformsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.Platform> GetPlatforms();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/AddPlatform", ReplyAction = "http://tempuri.org/IAdministrationService/AddPlatformResponse")]
-    long AddPlatform(HeuristicLab.Clients.OKB.Administration.Platform dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdatePlatform", ReplyAction = "http://tempuri.org/IAdministrationService/UpdatePlatformResponse")]
-    void UpdatePlatform(HeuristicLab.Clients.OKB.Administration.Platform dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/DeletePlatform", ReplyAction = "http://tempuri.org/IAdministrationService/DeletePlatformResponse")]
-    void DeletePlatform(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetAlgorithmClasses", ReplyAction = "http://tempuri.org/IAdministrationService/GetAlgorithmClassesResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.AlgorithmClass> GetAlgorithmClasses();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/AddAlgorithmClass", ReplyAction = "http://tempuri.org/IAdministrationService/AddAlgorithmClassResponse")]
-    long AddAlgorithmClass(HeuristicLab.Clients.OKB.Administration.AlgorithmClass dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateAlgorithmClass", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateAlgorithmClassResponse")]
-    void UpdateAlgorithmClass(HeuristicLab.Clients.OKB.Administration.AlgorithmClass dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/DeleteAlgorithmClass", ReplyAction = "http://tempuri.org/IAdministrationService/DeleteAlgorithmClassResponse")]
-    void DeleteAlgorithmClass(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetAlgorithms", ReplyAction = "http://tempuri.org/IAdministrationService/GetAlgorithmsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.Algorithm> GetAlgorithms();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/AddAlgorithm", ReplyAction = "http://tempuri.org/IAdministrationService/AddAlgorithmResponse")]
-    long AddAlgorithm(HeuristicLab.Clients.OKB.Administration.Algorithm dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateAlgorithm", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateAlgorithmResponse")]
-    void UpdateAlgorithm(HeuristicLab.Clients.OKB.Administration.Algorithm dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/DeleteAlgorithm", ReplyAction = "http://tempuri.org/IAdministrationService/DeleteAlgorithmResponse")]
-    void DeleteAlgorithm(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetAlgorithmUsers", ReplyAction = "http://tempuri.org/IAdministrationService/GetAlgorithmUsersResponse")]
-    System.Collections.Generic.List<System.Guid> GetAlgorithmUsers(long algorithmId);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateAlgorithmUsers", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateAlgorithmUsersResponse")]
-    void UpdateAlgorithmUsers(long algorithmId, System.Collections.Generic.List<System.Guid> users);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetAlgorithmData", ReplyAction = "http://tempuri.org/IAdministrationService/GetAlgorithmDataResponse")]
-    byte[] GetAlgorithmData(long algorithmId);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateAlgorithmData", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateAlgorithmDataResponse")]
-    void UpdateAlgorithmData(long algorithmId, byte[] data);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetProblemClasses", ReplyAction = "http://tempuri.org/IAdministrationService/GetProblemClassesResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.ProblemClass> GetProblemClasses();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/AddProblemClass", ReplyAction = "http://tempuri.org/IAdministrationService/AddProblemClassResponse")]
-    long AddProblemClass(HeuristicLab.Clients.OKB.Administration.ProblemClass dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateProblemClass", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateProblemClassResponse")]
-    void UpdateProblemClass(HeuristicLab.Clients.OKB.Administration.ProblemClass dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/DeleteProblemClass", ReplyAction = "http://tempuri.org/IAdministrationService/DeleteProblemClassResponse")]
-    void DeleteProblemClass(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetProblems", ReplyAction = "http://tempuri.org/IAdministrationService/GetProblemsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.Problem> GetProblems();
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/AddProblem", ReplyAction = "http://tempuri.org/IAdministrationService/AddProblemResponse")]
-    long AddProblem(HeuristicLab.Clients.OKB.Administration.Problem dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/UpdateProblem", ReplyAction = "http://tempuri.org/IAdministrationService/UpdateProblemResponse")]
-    void UpdateProblem(HeuristicLab.Clients.OKB.Administration.Problem dto);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/DeleteProblem", ReplyAction = "http://tempuri.org/IAdministrationService/DeleteProblemResponse")]
-    void DeleteProblem(long id);
-
-    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IAdministrationService/GetProblemUsers", ReplyAction = "http://tempuri.org/IAdministrationService/GetProblemUsersResponse")]
-    System.Collections.Generic.List<System.Guid> GetProblemUsers(long problemId);
-  }
-
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  public interface IAdministrationServiceChannel : HeuristicLab.Clients.OKB.Administration.IAdministrationService, System.ServiceModel.IClientChannel {
-  }
-
-  [System.Diagnostics.DebuggerStepThroughAttribute()]
-  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
-  public partial class AdministrationServiceClient : System.ServiceModel.ClientBase<HeuristicLab.Clients.OKB.Administration.IAdministrationService>, HeuristicLab.Clients.OKB.Administration.IAdministrationService {
-
-    public AdministrationServiceClient() {
-    }
-
-    public AdministrationServiceClient(string endpointConfigurationName) :
-      base(endpointConfigurationName) {
-    }
-
-    public AdministrationServiceClient(string endpointConfigurationName, string remoteAddress) :
-      base(endpointConfigurationName, remoteAddress) {
-    }
-
-    public AdministrationServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
-      base(endpointConfigurationName, remoteAddress) {
-    }
-
-    public AdministrationServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
-      base(binding, remoteAddress) {
-    }
-
-    public void UpdateProblemUsers(long problemId, System.Collections.Generic.List<System.Guid> users) {
-      base.Channel.UpdateProblemUsers(problemId, users);
-    }
-
-    public byte[] GetProblemData(long problemId) {
-      return base.Channel.GetProblemData(problemId);
-    }
-
-    public void UpdateProblemData(long problemId, byte[] data) {
-      base.Channel.UpdateProblemData(problemId, data);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.Platform> GetPlatforms() {
-      return base.Channel.GetPlatforms();
-    }
-
-    public long AddPlatform(HeuristicLab.Clients.OKB.Administration.Platform dto) {
-      return base.Channel.AddPlatform(dto);
-    }
-
-    public void UpdatePlatform(HeuristicLab.Clients.OKB.Administration.Platform dto) {
-      base.Channel.UpdatePlatform(dto);
-    }
-
-    public void DeletePlatform(long id) {
-      base.Channel.DeletePlatform(id);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.AlgorithmClass> GetAlgorithmClasses() {
-      return base.Channel.GetAlgorithmClasses();
-    }
-
-    public long AddAlgorithmClass(HeuristicLab.Clients.OKB.Administration.AlgorithmClass dto) {
-      return base.Channel.AddAlgorithmClass(dto);
-    }
-
-    public void UpdateAlgorithmClass(HeuristicLab.Clients.OKB.Administration.AlgorithmClass dto) {
-      base.Channel.UpdateAlgorithmClass(dto);
-    }
-
-    public void DeleteAlgorithmClass(long id) {
-      base.Channel.DeleteAlgorithmClass(id);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.Algorithm> GetAlgorithms() {
-      return base.Channel.GetAlgorithms();
-    }
-
-    public long AddAlgorithm(HeuristicLab.Clients.OKB.Administration.Algorithm dto) {
-      return base.Channel.AddAlgorithm(dto);
-    }
-
-    public void UpdateAlgorithm(HeuristicLab.Clients.OKB.Administration.Algorithm dto) {
-      base.Channel.UpdateAlgorithm(dto);
-    }
-
-    public void DeleteAlgorithm(long id) {
-      base.Channel.DeleteAlgorithm(id);
-    }
-
-    public System.Collections.Generic.List<System.Guid> GetAlgorithmUsers(long algorithmId) {
-      return base.Channel.GetAlgorithmUsers(algorithmId);
-    }
-
-    public void UpdateAlgorithmUsers(long algorithmId, System.Collections.Generic.List<System.Guid> users) {
-      base.Channel.UpdateAlgorithmUsers(algorithmId, users);
-    }
-
-    public byte[] GetAlgorithmData(long algorithmId) {
-      return base.Channel.GetAlgorithmData(algorithmId);
-    }
-
-    public void UpdateAlgorithmData(long algorithmId, byte[] data) {
-      base.Channel.UpdateAlgorithmData(algorithmId, data);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.ProblemClass> GetProblemClasses() {
-      return base.Channel.GetProblemClasses();
-    }
-
-    public long AddProblemClass(HeuristicLab.Clients.OKB.Administration.ProblemClass dto) {
-      return base.Channel.AddProblemClass(dto);
-    }
-
-    public void UpdateProblemClass(HeuristicLab.Clients.OKB.Administration.ProblemClass dto) {
-      base.Channel.UpdateProblemClass(dto);
-    }
-
-    public void DeleteProblemClass(long id) {
-      base.Channel.DeleteProblemClass(id);
-    }
-
-    public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.Problem> GetProblems() {
-      return base.Channel.GetProblems();
-    }
-
-    public long AddProblem(HeuristicLab.Clients.OKB.Administration.Problem dto) {
-      return base.Channel.AddProblem(dto);
-    }
-
-    public void UpdateProblem(HeuristicLab.Clients.OKB.Administration.Problem dto) {
-      base.Channel.UpdateProblem(dto);
-    }
-
-    public void DeleteProblem(long id) {
-      base.Channel.DeleteProblem(id);
-    }
-
-    public System.Collections.Generic.List<System.Guid> GetProblemUsers(long problemId) {
-      return base.Channel.GetProblemUsers(problemId);
-    }
-  }
+namespace HeuristicLab.Clients.OKB.Administration
+{
+    using System.Runtime.Serialization;
+    
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OKBItem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Administration." +
+        "DataTransfer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.NamedOKBItem))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.AlgorithmClass))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.Algorithm))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.ProblemClass))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.Problem))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.Platform))]
+    public partial class OKBItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long IdField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="NamedOKBItem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Administration." +
+        "DataTransfer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.AlgorithmClass))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.Algorithm))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.ProblemClass))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.Problem))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Administration.Platform))]
+    public partial class NamedOKBItem : HeuristicLab.Clients.OKB.Administration.OKBItem
+    {
+        
+        private string DescriptionField;
+        
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Description
+        {
+            get
+            {
+                return this.DescriptionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
+                {
+                    this.DescriptionField = value;
+                    this.RaisePropertyChanged("Description");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="AlgorithmClass", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Administration." +
+        "DataTransfer")]
+    public partial class AlgorithmClass : HeuristicLab.Clients.OKB.Administration.NamedOKBItem
+    {
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Algorithm", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Administration." +
+        "DataTransfer")]
+    public partial class Algorithm : HeuristicLab.Clients.OKB.Administration.NamedOKBItem
+    {
+        
+        private long AlgorithmClassIdField;
+        
+        private string DataTypeNameField;
+        
+        private string DataTypeTypeNameField;
+        
+        private long PlatformIdField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long AlgorithmClassId
+        {
+            get
+            {
+                return this.AlgorithmClassIdField;
+            }
+            set
+            {
+                if ((this.AlgorithmClassIdField.Equals(value) != true))
+                {
+                    this.AlgorithmClassIdField = value;
+                    this.RaisePropertyChanged("AlgorithmClassId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string DataTypeName
+        {
+            get
+            {
+                return this.DataTypeNameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeNameField, value) != true))
+                {
+                    this.DataTypeNameField = value;
+                    this.RaisePropertyChanged("DataTypeName");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string DataTypeTypeName
+        {
+            get
+            {
+                return this.DataTypeTypeNameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeTypeNameField, value) != true))
+                {
+                    this.DataTypeTypeNameField = value;
+                    this.RaisePropertyChanged("DataTypeTypeName");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long PlatformId
+        {
+            get
+            {
+                return this.PlatformIdField;
+            }
+            set
+            {
+                if ((this.PlatformIdField.Equals(value) != true))
+                {
+                    this.PlatformIdField = value;
+                    this.RaisePropertyChanged("PlatformId");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ProblemClass", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Administration." +
+        "DataTransfer")]
+    public partial class ProblemClass : HeuristicLab.Clients.OKB.Administration.NamedOKBItem
+    {
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Problem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Administration." +
+        "DataTransfer")]
+    public partial class Problem : HeuristicLab.Clients.OKB.Administration.NamedOKBItem
+    {
+        
+        private string DataTypeNameField;
+        
+        private string DataTypeTypeNameField;
+        
+        private long PlatformIdField;
+        
+        private long ProblemClassIdField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string DataTypeName
+        {
+            get
+            {
+                return this.DataTypeNameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeNameField, value) != true))
+                {
+                    this.DataTypeNameField = value;
+                    this.RaisePropertyChanged("DataTypeName");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string DataTypeTypeName
+        {
+            get
+            {
+                return this.DataTypeTypeNameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeTypeNameField, value) != true))
+                {
+                    this.DataTypeTypeNameField = value;
+                    this.RaisePropertyChanged("DataTypeTypeName");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long PlatformId
+        {
+            get
+            {
+                return this.PlatformIdField;
+            }
+            set
+            {
+                if ((this.PlatformIdField.Equals(value) != true))
+                {
+                    this.PlatformIdField = value;
+                    this.RaisePropertyChanged("PlatformId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long ProblemClassId
+        {
+            get
+            {
+                return this.ProblemClassIdField;
+            }
+            set
+            {
+                if ((this.ProblemClassIdField.Equals(value) != true))
+                {
+                    this.ProblemClassIdField = value;
+                    this.RaisePropertyChanged("ProblemClassId");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Platform", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Administration." +
+        "DataTransfer")]
+    public partial class Platform : HeuristicLab.Clients.OKB.Administration.NamedOKBItem
+    {
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    [System.ServiceModel.ServiceContractAttribute(ConfigurationName="HeuristicLab.Clients.OKB.Administration.IAdministrationService")]
+    public interface IAdministrationService
+    {
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/GetPlatform", ReplyAction="http://tempuri.org/IAdministrationService/GetPlatformResponse")]
+        HeuristicLab.Clients.OKB.Administration.Platform GetPlatform(long id);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/GetPlatforms", ReplyAction="http://tempuri.org/IAdministrationService/GetPlatformsResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.Platform> GetPlatforms();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/AddPlatform", ReplyAction="http://tempuri.org/IAdministrationService/AddPlatformResponse")]
+        long AddPlatform(HeuristicLab.Clients.OKB.Administration.Platform dto);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/UpdatePlatform", ReplyAction="http://tempuri.org/IAdministrationService/UpdatePlatformResponse")]
+        void UpdatePlatform(HeuristicLab.Clients.OKB.Administration.Platform dto);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/DeletePlatform", ReplyAction="http://tempuri.org/IAdministrationService/DeletePlatformResponse")]
+        void DeletePlatform(long id);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/GetAlgorithmClass", ReplyAction="http://tempuri.org/IAdministrationService/GetAlgorithmClassResponse")]
+        HeuristicLab.Clients.OKB.Administration.AlgorithmClass GetAlgorithmClass(long id);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/GetAlgorithmClasses", ReplyAction="http://tempuri.org/IAdministrationService/GetAlgorithmClassesResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.AlgorithmClass> GetAlgorithmClasses();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/AddAlgorithmClass", ReplyAction="http://tempuri.org/IAdministrationService/AddAlgorithmClassResponse")]
+        long AddAlgorithmClass(HeuristicLab.Clients.OKB.Administration.AlgorithmClass dto);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/UpdateAlgorithmClass", ReplyAction="http://tempuri.org/IAdministrationService/UpdateAlgorithmClassResponse")]
+        void UpdateAlgorithmClass(HeuristicLab.Clients.OKB.Administration.AlgorithmClass dto);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/DeleteAlgorithmClass", ReplyAction="http://tempuri.org/IAdministrationService/DeleteAlgorithmClassResponse")]
+        void DeleteAlgorithmClass(long id);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/GetAlgorithm", ReplyAction="http://tempuri.org/IAdministrationService/GetAlgorithmResponse")]
+        HeuristicLab.Clients.OKB.Administration.Algorithm GetAlgorithm(long id);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/GetAlgorithms", ReplyAction="http://tempuri.org/IAdministrationService/GetAlgorithmsResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.Algorithm> GetAlgorithms();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/AddAlgorithm", ReplyAction="http://tempuri.org/IAdministrationService/AddAlgorithmResponse")]
+        long AddAlgorithm(HeuristicLab.Clients.OKB.Administration.Algorithm dto);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/UpdateAlgorithm", ReplyAction="http://tempuri.org/IAdministrationService/UpdateAlgorithmResponse")]
+        void UpdateAlgorithm(HeuristicLab.Clients.OKB.Administration.Algorithm dto);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/DeleteAlgorithm", ReplyAction="http://tempuri.org/IAdministrationService/DeleteAlgorithmResponse")]
+        void DeleteAlgorithm(long id);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/GetAlgorithmUsers", ReplyAction="http://tempuri.org/IAdministrationService/GetAlgorithmUsersResponse")]
+        System.Collections.Generic.List<System.Guid> GetAlgorithmUsers(long algorithmId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/UpdateAlgorithmUsers", ReplyAction="http://tempuri.org/IAdministrationService/UpdateAlgorithmUsersResponse")]
+        void UpdateAlgorithmUsers(long algorithmId, System.Collections.Generic.List<System.Guid> users);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/GetAlgorithmData", ReplyAction="http://tempuri.org/IAdministrationService/GetAlgorithmDataResponse")]
+        byte[] GetAlgorithmData(long algorithmId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/UpdateAlgorithmData", ReplyAction="http://tempuri.org/IAdministrationService/UpdateAlgorithmDataResponse")]
+        void UpdateAlgorithmData(long algorithmId, byte[] data);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/GetProblemClass", ReplyAction="http://tempuri.org/IAdministrationService/GetProblemClassResponse")]
+        HeuristicLab.Clients.OKB.Administration.ProblemClass GetProblemClass(long id);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/GetProblemClasses", ReplyAction="http://tempuri.org/IAdministrationService/GetProblemClassesResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.ProblemClass> GetProblemClasses();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/AddProblemClass", ReplyAction="http://tempuri.org/IAdministrationService/AddProblemClassResponse")]
+        long AddProblemClass(HeuristicLab.Clients.OKB.Administration.ProblemClass dto);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/UpdateProblemClass", ReplyAction="http://tempuri.org/IAdministrationService/UpdateProblemClassResponse")]
+        void UpdateProblemClass(HeuristicLab.Clients.OKB.Administration.ProblemClass dto);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/DeleteProblemClass", ReplyAction="http://tempuri.org/IAdministrationService/DeleteProblemClassResponse")]
+        void DeleteProblemClass(long id);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/GetProblem", ReplyAction="http://tempuri.org/IAdministrationService/GetProblemResponse")]
+        HeuristicLab.Clients.OKB.Administration.Problem GetProblem(long id);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/GetProblems", ReplyAction="http://tempuri.org/IAdministrationService/GetProblemsResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.Problem> GetProblems();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/AddProblem", ReplyAction="http://tempuri.org/IAdministrationService/AddProblemResponse")]
+        long AddProblem(HeuristicLab.Clients.OKB.Administration.Problem dto);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/UpdateProblem", ReplyAction="http://tempuri.org/IAdministrationService/UpdateProblemResponse")]
+        void UpdateProblem(HeuristicLab.Clients.OKB.Administration.Problem dto);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/DeleteProblem", ReplyAction="http://tempuri.org/IAdministrationService/DeleteProblemResponse")]
+        void DeleteProblem(long id);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/GetProblemUsers", ReplyAction="http://tempuri.org/IAdministrationService/GetProblemUsersResponse")]
+        System.Collections.Generic.List<System.Guid> GetProblemUsers(long problemId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/UpdateProblemUsers", ReplyAction="http://tempuri.org/IAdministrationService/UpdateProblemUsersResponse")]
+        void UpdateProblemUsers(long problemId, System.Collections.Generic.List<System.Guid> users);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/GetProblemData", ReplyAction="http://tempuri.org/IAdministrationService/GetProblemDataResponse")]
+        byte[] GetProblemData(long problemId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IAdministrationService/UpdateProblemData", ReplyAction="http://tempuri.org/IAdministrationService/UpdateProblemDataResponse")]
+        void UpdateProblemData(long problemId, byte[] data);
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public interface IAdministrationServiceChannel : HeuristicLab.Clients.OKB.Administration.IAdministrationService, System.ServiceModel.IClientChannel
+    {
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class AdministrationServiceClient : System.ServiceModel.ClientBase<HeuristicLab.Clients.OKB.Administration.IAdministrationService>, HeuristicLab.Clients.OKB.Administration.IAdministrationService
+    {
+        
+        public AdministrationServiceClient()
+        {
+        }
+        
+        public AdministrationServiceClient(string endpointConfigurationName) : 
+                base(endpointConfigurationName)
+        {
+        }
+        
+        public AdministrationServiceClient(string endpointConfigurationName, string remoteAddress) : 
+                base(endpointConfigurationName, remoteAddress)
+        {
+        }
+        
+        public AdministrationServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
+                base(endpointConfigurationName, remoteAddress)
+        {
+        }
+        
+        public AdministrationServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
+                base(binding, remoteAddress)
+        {
+        }
+        
+        public HeuristicLab.Clients.OKB.Administration.Platform GetPlatform(long id)
+        {
+            return base.Channel.GetPlatform(id);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.Platform> GetPlatforms()
+        {
+            return base.Channel.GetPlatforms();
+        }
+        
+        public long AddPlatform(HeuristicLab.Clients.OKB.Administration.Platform dto)
+        {
+            return base.Channel.AddPlatform(dto);
+        }
+        
+        public void UpdatePlatform(HeuristicLab.Clients.OKB.Administration.Platform dto)
+        {
+            base.Channel.UpdatePlatform(dto);
+        }
+        
+        public void DeletePlatform(long id)
+        {
+            base.Channel.DeletePlatform(id);
+        }
+        
+        public HeuristicLab.Clients.OKB.Administration.AlgorithmClass GetAlgorithmClass(long id)
+        {
+            return base.Channel.GetAlgorithmClass(id);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.AlgorithmClass> GetAlgorithmClasses()
+        {
+            return base.Channel.GetAlgorithmClasses();
+        }
+        
+        public long AddAlgorithmClass(HeuristicLab.Clients.OKB.Administration.AlgorithmClass dto)
+        {
+            return base.Channel.AddAlgorithmClass(dto);
+        }
+        
+        public void UpdateAlgorithmClass(HeuristicLab.Clients.OKB.Administration.AlgorithmClass dto)
+        {
+            base.Channel.UpdateAlgorithmClass(dto);
+        }
+        
+        public void DeleteAlgorithmClass(long id)
+        {
+            base.Channel.DeleteAlgorithmClass(id);
+        }
+        
+        public HeuristicLab.Clients.OKB.Administration.Algorithm GetAlgorithm(long id)
+        {
+            return base.Channel.GetAlgorithm(id);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.Algorithm> GetAlgorithms()
+        {
+            return base.Channel.GetAlgorithms();
+        }
+        
+        public long AddAlgorithm(HeuristicLab.Clients.OKB.Administration.Algorithm dto)
+        {
+            return base.Channel.AddAlgorithm(dto);
+        }
+        
+        public void UpdateAlgorithm(HeuristicLab.Clients.OKB.Administration.Algorithm dto)
+        {
+            base.Channel.UpdateAlgorithm(dto);
+        }
+        
+        public void DeleteAlgorithm(long id)
+        {
+            base.Channel.DeleteAlgorithm(id);
+        }
+        
+        public System.Collections.Generic.List<System.Guid> GetAlgorithmUsers(long algorithmId)
+        {
+            return base.Channel.GetAlgorithmUsers(algorithmId);
+        }
+        
+        public void UpdateAlgorithmUsers(long algorithmId, System.Collections.Generic.List<System.Guid> users)
+        {
+            base.Channel.UpdateAlgorithmUsers(algorithmId, users);
+        }
+        
+        public byte[] GetAlgorithmData(long algorithmId)
+        {
+            return base.Channel.GetAlgorithmData(algorithmId);
+        }
+        
+        public void UpdateAlgorithmData(long algorithmId, byte[] data)
+        {
+            base.Channel.UpdateAlgorithmData(algorithmId, data);
+        }
+        
+        public HeuristicLab.Clients.OKB.Administration.ProblemClass GetProblemClass(long id)
+        {
+            return base.Channel.GetProblemClass(id);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.ProblemClass> GetProblemClasses()
+        {
+            return base.Channel.GetProblemClasses();
+        }
+        
+        public long AddProblemClass(HeuristicLab.Clients.OKB.Administration.ProblemClass dto)
+        {
+            return base.Channel.AddProblemClass(dto);
+        }
+        
+        public void UpdateProblemClass(HeuristicLab.Clients.OKB.Administration.ProblemClass dto)
+        {
+            base.Channel.UpdateProblemClass(dto);
+        }
+        
+        public void DeleteProblemClass(long id)
+        {
+            base.Channel.DeleteProblemClass(id);
+        }
+        
+        public HeuristicLab.Clients.OKB.Administration.Problem GetProblem(long id)
+        {
+            return base.Channel.GetProblem(id);
+        }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Administration.Problem> GetProblems()
+        {
+            return base.Channel.GetProblems();
+        }
+        
+        public long AddProblem(HeuristicLab.Clients.OKB.Administration.Problem dto)
+        {
+            return base.Channel.AddProblem(dto);
+        }
+        
+        public void UpdateProblem(HeuristicLab.Clients.OKB.Administration.Problem dto)
+        {
+            base.Channel.UpdateProblem(dto);
+        }
+        
+        public void DeleteProblem(long id)
+        {
+            base.Channel.DeleteProblem(id);
+        }
+        
+        public System.Collections.Generic.List<System.Guid> GetProblemUsers(long problemId)
+        {
+            return base.Channel.GetProblemUsers(problemId);
+        }
+        
+        public void UpdateProblemUsers(long problemId, System.Collections.Generic.List<System.Guid> users)
+        {
+            base.Channel.UpdateProblemUsers(problemId, users);
+        }
+        
+        public byte[] GetProblemData(long problemId)
+        {
+            return base.Channel.GetProblemData(problemId);
+        }
+        
+        public void UpdateProblemData(long problemId, byte[] data)
+        {
+            base.Channel.UpdateProblemData(problemId, data);
+        }
+    }
 }
Index: stable/HeuristicLab.Clients.OKB/3.3/Administration/ServiceClient/GenerateServiceClient.cmd
===================================================================
--- stable/HeuristicLab.Clients.OKB/3.3/Administration/ServiceClient/GenerateServiceClient.cmd	(revision 15260)
+++ stable/HeuristicLab.Clients.OKB/3.3/Administration/ServiceClient/GenerateServiceClient.cmd	(revision 15261)
@@ -1,33 +1,51 @@
-echo off
+@ECHO OFF
 
-echo.
-echo *******************************************************************************************
-echo Generating OKB administration service client
-echo.
+SET HOST=
+SET GENERATECONFIG=
 
-REM If app.config should be generated, use option "/config:..\..\app.config" and optionally "/mergeConfig" instead of "/noConfig".
+ECHO.
+ECHO *******************************************************************************************
 
-svcutil.exe ^
-  http://localhost:8732/Design_Time_Addresses/OKB-3.3/AdministrationService/mex ^
-  /out:AdministrationServiceClient ^
-  /namespace:*,HeuristicLab.Clients.OKB.Administration ^
-  /collectionType:System.Collections.Generic.List`1 ^
-  /targetClientVersion:Version35 ^
-  /enableDataBinding ^
-  /noConfig
+SET /P HOST=Which host should be used? [services.heuristiclab.com]: 
+IF "%HOST%"=="" SET HOST=services.heuristiclab.com
 
-echo.
-echo ---------------------------------------------------------------------------------------
-echo !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
-echo.
-echo Following modifications have to be done manually in generated data contracts:
-echo  * Remove method "protected void RaisePropertyChanged(string propertyName)" in OKBItem
-echo.
-echo !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
-echo ---------------------------------------------------------------------------------------
-echo.
-echo Generation of OKB administration service client finished.
-echo *******************************************************************************************
-echo.
+SET /P GENERATECONFIG=Would you like to generate the configuration file? [y]: 
+IF "%GENERATECONFIG%"=="" SET GENERATECONFIG=y
 
-pause
+SET ARGS=http://%HOST%/OKB-3.3/AdministrationService.svc?wsdl ^
+/out:AdministrationServiceClient ^
+/namespace:*,HeuristicLab.Clients.OKB.Administration ^
+/collectionType:System.Collections.Generic.List`1 ^
+/targetClientVersion:Version35 ^
+/enableDataBinding ^
+/syncOnly
+
+IF "%GENERATECONFIG%"=="y" (
+  SET ARGS=%ARGS% /config:..\..\app.config /mergeConfig
+) ELSE (
+  SET ARGS=%ARGS% /noConfig
+)
+
+ECHO.
+ECHO Generating AdministrationService client
+ECHO.
+
+SETLOCAL ENABLEDELAYEDEXPANSION
+svcutil.exe %ARGS%
+ENDLOCAL
+
+ECHO.
+ECHO ---------------------------------------------------------------------------------------
+ECHO !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
+ECHO.
+ECHO Following modifications have to be done manually in generated data contracts:
+ECHO  * Remove method "protected void RaisePropertyChanged(string propertyName)" in generated OKBItem
+ECHO.
+ECHO !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
+ECHO ---------------------------------------------------------------------------------------
+ECHO.
+ECHO Generation of AdministrationService client finished.
+ECHO *******************************************************************************************
+ECHO.
+
+PAUSE
Index: stable/HeuristicLab.Clients.OKB/3.3/HeuristicLab.Clients.OKB-3.3.csproj
===================================================================
--- stable/HeuristicLab.Clients.OKB/3.3/HeuristicLab.Clients.OKB-3.3.csproj	(revision 15260)
+++ stable/HeuristicLab.Clients.OKB/3.3/HeuristicLab.Clients.OKB-3.3.csproj	(revision 15261)
@@ -114,4 +114,9 @@
     <Compile Include="Administration\ServiceClient\ProblemClass.cs" />
     <Compile Include="OKBRoles.cs" />
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+      <DependentUpon>Settings.settings</DependentUpon>
+    </Compile>
     <Compile Include="RunCreation\OKBSolution.cs" />
     <Compile Include="Plugin.cs" />
@@ -177,4 +182,8 @@
     <None Include="Properties\AssemblyInfo.cs.frame" />
     <None Include="Administration\ServiceClient\GenerateServiceClient.cmd" />
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
     <None Include="Query\ServiceClient\GenerateServiceClient.cmd" />
     <None Include="RunCreation\ServiceClient\GenerateServiceClient.cmd" />
Index: stable/HeuristicLab.Clients.OKB/3.3/Properties/Settings.Designer.cs
===================================================================
--- stable/HeuristicLab.Clients.OKB/3.3/Properties/Settings.Designer.cs	(revision 15261)
+++ stable/HeuristicLab.Clients.OKB/3.3/Properties/Settings.Designer.cs	(revision 15261)
@@ -0,0 +1,48 @@
+﻿//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace HeuristicLab.Clients.OKB.Properties {
+    
+    
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+        
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+        
+        public static Settings Default {
+            get {
+                return defaultInstance;
+            }
+        }
+        
+        [global::System.Configuration.ApplicationScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute("3")]
+        public int MaxEndpointRetries {
+            get {
+                return ((int)(this["MaxEndpointRetries"]));
+            }
+        }
+        
+        [global::System.Configuration.ApplicationScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute(@"<?xml version=""1.0"" encoding=""utf-16""?>
+<ArrayOfString xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">
+  <string>NetBinding_IQueryService</string>
+  <string>WSHttpBinding_IQueryService</string>
+</ArrayOfString>")]
+        public global::System.Collections.Specialized.StringCollection EndpointConfigurationPriorities {
+            get {
+                return ((global::System.Collections.Specialized.StringCollection)(this["EndpointConfigurationPriorities"]));
+            }
+        }
+    }
+}
Index: stable/HeuristicLab.Clients.OKB/3.3/Properties/Settings.settings
===================================================================
--- stable/HeuristicLab.Clients.OKB/3.3/Properties/Settings.settings	(revision 15261)
+++ stable/HeuristicLab.Clients.OKB/3.3/Properties/Settings.settings	(revision 15261)
@@ -0,0 +1,16 @@
+﻿<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="HeuristicLab.Clients.OKB.Properties" GeneratedClassName="Settings">
+  <Profiles />
+  <Settings>
+    <Setting Name="MaxEndpointRetries" Type="System.Int32" Scope="Application">
+      <Value Profile="(Default)">3</Value>
+    </Setting>
+    <Setting Name="EndpointConfigurationPriorities" Type="System.Collections.Specialized.StringCollection" Scope="Application">
+      <Value Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
+&lt;ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
+  &lt;string&gt;NetBinding_IQueryService&lt;/string&gt;
+  &lt;string&gt;WSHttpBinding_IQueryService&lt;/string&gt;
+&lt;/ArrayOfString&gt;</Value>
+    </Setting>
+  </Settings>
+</SettingsFile>
Index: stable/HeuristicLab.Clients.OKB/3.3/Query/QueryClient.cs
===================================================================
--- stable/HeuristicLab.Clients.OKB/3.3/Query/QueryClient.cs	(revision 15260)
+++ stable/HeuristicLab.Clients.OKB/3.3/Query/QueryClient.cs	(revision 15261)
@@ -24,4 +24,5 @@
 using System.IO;
 using System.Linq;
+using System.ServiceModel;
 using HeuristicLab.Clients.Common;
 using HeuristicLab.Common;
@@ -39,4 +40,7 @@
       }
     }
+
+    private int endpointRetries;
+    private string workingEndpoint;
 
     #region Properties
@@ -68,5 +72,5 @@
     }
     public void RefreshAsync(Action<Exception> exceptionCallback) {
-      var call = new Func<Exception>(delegate() {
+      var call = new Func<Exception>(delegate () {
         try {
           Refresh();
@@ -76,5 +80,5 @@
         return null;
       });
-      call.BeginInvoke(delegate(IAsyncResult result) {
+      call.BeginInvoke(delegate (IAsyncResult result) {
         Exception ex = call.EndInvoke(result);
         if (ex != null) exceptionCallback(ex);
@@ -156,6 +160,34 @@
 
     #region Helpers
+    private QueryServiceClient NewServiceClient() {
+      if (endpointRetries >= Properties.Settings.Default.MaxEndpointRetries)
+        return CreateClient(workingEndpoint);
+
+      var configurations = Properties.Settings.Default.EndpointConfigurationPriorities;
+      Exception exception = null;
+
+      foreach (var endpointConfigurationName in configurations) {
+        try {
+          var cl = CreateClient(endpointConfigurationName);
+          cl.Open();
+          workingEndpoint = endpointConfigurationName;
+          return cl;
+        } catch (EndpointNotFoundException e) {
+          exception = e;
+          ++endpointRetries;
+        }
+      }
+
+      throw exception ?? new EndpointNotFoundException("No endpoint for Query service found.");
+    }
+
+    private QueryServiceClient CreateClient(string endpointConfigurationName) {
+      var cl = ClientFactory.CreateClient<QueryServiceClient, IQueryService>(endpointConfigurationName);
+      return cl;
+    }
+
     private T CallQueryService<T>(Func<IQueryService, T> call) {
-      QueryServiceClient client = ClientFactory.CreateClient<QueryServiceClient, IQueryService>();
+      QueryServiceClient client = NewServiceClient();
+
       try {
         return call(client);
Index: stable/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/GenerateServiceClient.cmd
===================================================================
--- stable/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/GenerateServiceClient.cmd	(revision 15260)
+++ stable/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/GenerateServiceClient.cmd	(revision 15261)
@@ -1,24 +1,42 @@
-echo off
+@ECHO OFF
 
-echo.
-echo *******************************************************************************************
-echo Generating OKB query service client
-echo.
+SET HOST=
+SET GENERATECONFIG=
 
-REM If app.config should be generated, use option "/config:..\..\app.config" and optionally "/mergeConfig" instead of "/noConfig".
+ECHO.
+ECHO *******************************************************************************************
 
-svcutil.exe ^
-  http://localhost:8732/Design_Time_Addresses/OKB-3.3/QueryService/mex ^
-  /out:QueryServiceClient ^
-  /namespace:*,HeuristicLab.Clients.OKB.Query ^
-  /collectionType:System.Collections.Generic.List`1 ^
-  /targetClientVersion:Version35 ^
-  /enableDataBinding ^
-  /noConfig
+SET /P HOST=Which host should be used? [services.heuristiclab.com]: 
+IF "%HOST%"=="" SET HOST=services.heuristiclab.com
 
-echo.
-echo Generation of OKB query service client finished.
-echo *******************************************************************************************
-echo.
+SET /P GENERATECONFIG=Would you like to generate the configuration file? [y]: 
+IF "%GENERATECONFIG%"=="" SET GENERATECONFIG=y
 
-pause
+SET ARGS=http://%HOST%/OKB-3.3/QueryService.svc ^
+/out:QueryServiceClient ^
+/namespace:*,HeuristicLab.Clients.OKB.Query ^
+/collectionType:System.Collections.Generic.List`1 ^
+/targetClientVersion:Version35 ^
+/enableDataBinding ^
+/syncOnly
+
+IF "%GENERATECONFIG%"=="y" (
+  SET ARGS=%ARGS% /config:..\..\app.config /mergeConfig
+) ELSE (
+  SET ARGS=%ARGS% /noConfig
+)
+
+ECHO.
+ECHO Generating QueryService client
+ECHO.
+
+SETLOCAL ENABLEDELAYEDEXPANSION
+svcutil.exe %ARGS%
+ENDLOCAL
+
+ECHO.
+ECHO Generation of QueryService client finished.
+ECHO *******************************************************************************************
+ECHO.
+
+PAUSE
Index: stable/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/QueryServiceClient.cs
===================================================================
--- stable/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/QueryServiceClient.cs	(revision 15260)
+++ stable/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/QueryServiceClient.cs	(revision 15261)
@@ -2,5 +2,5 @@
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:4.0.30319.34209
+//     Runtime Version:4.0.30319.42000
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
@@ -18,91 +18,675 @@
     [System.Runtime.Serialization.DataContractAttribute(Name="Filter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
         "fer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonTimeSpanFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonTimeSpanFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonFloatFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonFloatFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDateTimeFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonLongFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonLongFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonIntFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonIntFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDoubleFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonDoubleFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonPercentFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonPercentFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.EqualityComparisonFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.EqualityComparisonByteArrayFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameEqualityComparisonByteArrayFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.EqualityComparisonBoolFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameEqualityComparisonBoolFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.CombinedFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.StringComparisonFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.StringComparisonAvailableValuesFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonAvailableValuesFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter))]
+    public partial class Filter : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private string FilterTypeNameField;
+        
+        private string LabelField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string FilterTypeName
+        {
+            get
+            {
+                return this.FilterTypeNameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.FilterTypeNameField, value) != true))
+                {
+                    this.FilterTypeNameField = value;
+                    this.RaisePropertyChanged("FilterTypeName");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Label
+        {
+            get
+            {
+                return this.LabelField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.LabelField, value) != true))
+                {
+                    this.LabelField = value;
+                    this.RaisePropertyChanged("Label");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName)
+        {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null))
+            {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonTimeSpanFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonTimeSpanFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonFloatFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonFloatFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDateTimeFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonLongFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonLongFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonIntFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonIntFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonLongFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonLongFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDoubleFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonDoubleFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonPercentFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonPercentFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonTimeSpanFilter))]
+    public partial class OrdinalComparisonFilter : HeuristicLab.Clients.OKB.Query.Filter
+    {
+        
+        private HeuristicLab.Clients.OKB.Query.OrdinalComparison ComparisonField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.OKB.Query.OrdinalComparison Comparison
+        {
+            get
+            {
+                return this.ComparisonField;
+            }
+            set
+            {
+                if ((this.ComparisonField.Equals(value) != true))
+                {
+                    this.ComparisonField = value;
+                    this.RaisePropertyChanged("Comparison");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonTimeSpanFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonTimeSpanFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.CombinedFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.EqualityComparisonFilter))]
+    public partial class OrdinalComparisonTimeSpanFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
+    {
+        
+        private long ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonTimeSpanFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class NameOrdinalComparisonTimeSpanFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonTimeSpanFilter
+    {
+        
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonFloatFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonFloatFilter))]
+    public partial class OrdinalComparisonFloatFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
+    {
+        
+        private float ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public float Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonFloatFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class NameOrdinalComparisonFloatFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFloatFilter
+    {
+        
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonDateTimeFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class OrdinalComparisonDateTimeFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
+    {
+        
+        private System.DateTime ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonLongFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonLongFilter))]
+    public partial class OrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
+    {
+        
+        private long ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonLongFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class NameOrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonLongFilter
+    {
+        
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonIntFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonIntFilter))]
+    public partial class OrdinalComparisonIntFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
+    {
+        
+        private int ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonIntFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class NameOrdinalComparisonIntFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonIntFilter
+    {
+        
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonDoubleFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonDoubleFilter))]
+    public partial class OrdinalComparisonDoubleFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
+    {
+        
+        private double ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public double Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonDoubleFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class NameOrdinalComparisonDoubleFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonDoubleFilter
+    {
+        
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonPercentFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonPercentFilter))]
+    public partial class OrdinalComparisonPercentFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
+    {
+        
+        private double ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public double Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonPercentFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class NameOrdinalComparisonPercentFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonPercentFilter
+    {
+        
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="EqualityComparisonFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.EqualityComparisonByteArrayFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameEqualityComparisonByteArrayFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.EqualityComparisonBoolFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameEqualityComparisonBoolFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.EqualityComparisonByteArrayFilter))]
+    public partial class EqualityComparisonFilter : HeuristicLab.Clients.OKB.Query.Filter
+    {
+        
+        private HeuristicLab.Clients.OKB.Query.EqualityComparison ComparisonField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.OKB.Query.EqualityComparison Comparison
+        {
+            get
+            {
+                return this.ComparisonField;
+            }
+            set
+            {
+                if ((this.ComparisonField.Equals(value) != true))
+                {
+                    this.ComparisonField = value;
+                    this.RaisePropertyChanged("Comparison");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="EqualityComparisonByteArrayFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameEqualityComparisonByteArrayFilter))]
-    public partial class Filter : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
-    {
-        
-        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-        
-        private string FilterTypeNameField;
-        
-        private string LabelField;
-        
-        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
-        {
-            get
-            {
-                return this.extensionDataField;
-            }
-            set
-            {
-                this.extensionDataField = value;
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string FilterTypeName
-        {
-            get
-            {
-                return this.FilterTypeNameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.FilterTypeNameField, value) != true))
-                {
-                    this.FilterTypeNameField = value;
-                    this.RaisePropertyChanged("FilterTypeName");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Label
-        {
-            get
-            {
-                return this.LabelField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.LabelField, value) != true))
-                {
-                    this.LabelField = value;
-                    this.RaisePropertyChanged("Label");
-                }
-            }
-        }
-        
-        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
-        
-        protected void RaisePropertyChanged(string propertyName)
-        {
-            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
-            if ((propertyChanged != null))
-            {
-                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+    public partial class EqualityComparisonByteArrayFilter : HeuristicLab.Clients.OKB.Query.EqualityComparisonFilter
+    {
+        
+        private byte[] ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public byte[] Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ValueField, value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="NameEqualityComparisonByteArrayFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class NameEqualityComparisonByteArrayFilter : HeuristicLab.Clients.OKB.Query.EqualityComparisonByteArrayFilter
+    {
+        
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="EqualityComparisonBoolFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameEqualityComparisonBoolFilter))]
+    public partial class EqualityComparisonBoolFilter : HeuristicLab.Clients.OKB.Query.EqualityComparisonFilter
+    {
+        
+        private bool ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="NameEqualityComparisonBoolFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class NameEqualityComparisonBoolFilter : HeuristicLab.Clients.OKB.Query.EqualityComparisonBoolFilter
+    {
+        
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="CombinedFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class CombinedFilter : HeuristicLab.Clients.OKB.Query.Filter
+    {
+        
+        private System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Filter> FiltersField;
+        
+        private HeuristicLab.Clients.OKB.Query.BooleanOperation OperationField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Filter> Filters
+        {
+            get
+            {
+                return this.FiltersField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.FiltersField, value) != true))
+                {
+                    this.FiltersField = value;
+                    this.RaisePropertyChanged("Filters");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.OKB.Query.BooleanOperation Operation
+        {
+            get
+            {
+                return this.OperationField;
+            }
+            set
+            {
+                if ((this.OperationField.Equals(value) != true))
+                {
+                    this.OperationField = value;
+                    this.RaisePropertyChanged("Operation");
+                }
             }
         }
@@ -240,56 +824,702 @@
     }
     
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonFloatFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonFloatFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDateTimeFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonIntFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonIntFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonLongFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonLongFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDoubleFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonDoubleFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonPercentFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonPercentFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonTimeSpanFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonTimeSpanFilter))]
-    public partial class OrdinalComparisonFilter : HeuristicLab.Clients.OKB.Query.Filter
-    {
-        
-        private HeuristicLab.Clients.OKB.Query.OrdinalComparison ComparisonField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public HeuristicLab.Clients.OKB.Query.OrdinalComparison Comparison
-        {
-            get
-            {
-                return this.ComparisonField;
-            }
-            set
-            {
-                if ((this.ComparisonField.Equals(value) != true))
-                {
-                    this.ComparisonField = value;
-                    this.RaisePropertyChanged("Comparison");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonFloatFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonFloatFilter))]
-    public partial class OrdinalComparisonFloatFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
-    {
-        
-        private float ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public float Value
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparison", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public enum OrdinalComparison : int
+    {
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Less = 0,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        LessOrEqual = 1,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Equal = 2,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        GreaterOrEqual = 3,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Greater = 4,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        NotEqual = 5,
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="EqualityComparison", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public enum EqualityComparison : int
+    {
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Equal = 0,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        NotEqual = 1,
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="BooleanOperation", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public enum BooleanOperation : int
+    {
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        And = 0,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Or = 1,
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="StringComparison", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public enum StringComparison : int
+    {
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Equal = 0,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        NotEqual = 1,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Contains = 2,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        NotContains = 3,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Like = 4,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        NotLike = 5,
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Run", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class Run : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private HeuristicLab.Clients.OKB.Query.Algorithm AlgorithmField;
+        
+        private System.Guid ClientIdField;
+        
+        private System.DateTime CreatedDateField;
+        
+        private long IdField;
+        
+        private System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Value> ParameterValuesField;
+        
+        private HeuristicLab.Clients.OKB.Query.Problem ProblemField;
+        
+        private System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Value> ResultValuesField;
+        
+        private System.Guid UserIdField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.OKB.Query.Algorithm Algorithm
+        {
+            get
+            {
+                return this.AlgorithmField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmField, value) != true))
+                {
+                    this.AlgorithmField = value;
+                    this.RaisePropertyChanged("Algorithm");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid ClientId
+        {
+            get
+            {
+                return this.ClientIdField;
+            }
+            set
+            {
+                if ((this.ClientIdField.Equals(value) != true))
+                {
+                    this.ClientIdField = value;
+                    this.RaisePropertyChanged("ClientId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime CreatedDate
+        {
+            get
+            {
+                return this.CreatedDateField;
+            }
+            set
+            {
+                if ((this.CreatedDateField.Equals(value) != true))
+                {
+                    this.CreatedDateField = value;
+                    this.RaisePropertyChanged("CreatedDate");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Value> ParameterValues
+        {
+            get
+            {
+                return this.ParameterValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ParameterValuesField, value) != true))
+                {
+                    this.ParameterValuesField = value;
+                    this.RaisePropertyChanged("ParameterValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.OKB.Query.Problem Problem
+        {
+            get
+            {
+                return this.ProblemField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemField, value) != true))
+                {
+                    this.ProblemField = value;
+                    this.RaisePropertyChanged("Problem");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Value> ResultValues
+        {
+            get
+            {
+                return this.ResultValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ResultValuesField, value) != true))
+                {
+                    this.ResultValuesField = value;
+                    this.RaisePropertyChanged("ResultValues");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid UserId
+        {
+            get
+            {
+                return this.UserIdField;
+            }
+            set
+            {
+                if ((this.UserIdField.Equals(value) != true))
+                {
+                    this.UserIdField = value;
+                    this.RaisePropertyChanged("UserId");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName)
+        {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null))
+            {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Algorithm", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class Algorithm : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private string AlgorithmClassField;
+        
+        private HeuristicLab.Clients.OKB.Query.DataType DataTypeField;
+        
+        private string DescriptionField;
+        
+        private long IdField;
+        
+        private string NameField;
+        
+        private string PlatformField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string AlgorithmClass
+        {
+            get
+            {
+                return this.AlgorithmClassField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AlgorithmClassField, value) != true))
+                {
+                    this.AlgorithmClassField = value;
+                    this.RaisePropertyChanged("AlgorithmClass");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.OKB.Query.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Description
+        {
+            get
+            {
+                return this.DescriptionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
+                {
+                    this.DescriptionField = value;
+                    this.RaisePropertyChanged("Description");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Id
+        {
+            get
+            {
+                return this.IdField;
+            }
+            set
+            {
+                if ((this.IdField.Equals(value) != true))
+                {
+                    this.IdField = value;
+                    this.RaisePropertyChanged("Id");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Platform
+        {
+            get
+            {
+                return this.PlatformField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.PlatformField, value) != true))
+                {
+                    this.PlatformField = value;
+                    this.RaisePropertyChanged("Platform");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName)
+        {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null))
+            {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Problem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class Problem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private HeuristicLab.Clients.OKB.Query.DataType DataTypeField;
+        
+        private string DescriptionField;
+        
+        private string NameField;
+        
+        private string PlatformField;
+        
+        private string ProblemClassField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.OKB.Query.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Description
+        {
+            get
+            {
+                return this.DescriptionField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
+                {
+                    this.DescriptionField = value;
+                    this.RaisePropertyChanged("Description");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Platform
+        {
+            get
+            {
+                return this.PlatformField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.PlatformField, value) != true))
+                {
+                    this.PlatformField = value;
+                    this.RaisePropertyChanged("Platform");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string ProblemClass
+        {
+            get
+            {
+                return this.ProblemClassField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ProblemClassField, value) != true))
+                {
+                    this.ProblemClassField = value;
+                    this.RaisePropertyChanged("ProblemClass");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName)
+        {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null))
+            {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="Value", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.PercentValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.LongValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.IntValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.DoubleValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.StringValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.BoolValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.TimeSpanValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.FloatValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.BinaryValue))]
+    public partial class Value : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private HeuristicLab.Clients.OKB.Query.DataType DataTypeField;
+        
+        private string NameField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.OKB.Query.DataType DataType
+        {
+            get
+            {
+                return this.DataTypeField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
+                {
+                    this.DataTypeField = value;
+                    this.RaisePropertyChanged("DataType");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName)
+        {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null))
+            {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="DataType", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class DataType : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private string NameField;
+        
+        private string TypeNameField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string TypeName
+        {
+            get
+            {
+                return this.TypeNameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.TypeNameField, value) != true))
+                {
+                    this.TypeNameField = value;
+                    this.RaisePropertyChanged("TypeName");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName)
+        {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null))
+            {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="PercentValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class PercentValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private double ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public double Value
         {
             get
@@ -310,40 +1540,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonFloatFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class NameOrdinalComparisonFloatFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFloatFilter
-    {
-        
-        private string NameField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Name
-        {
-            get
-            {
-                return this.NameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.NameField, value) != true))
-                {
-                    this.NameField = value;
-                    this.RaisePropertyChanged("Name");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonDateTimeFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class OrdinalComparisonDateTimeFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
-    {
-        
-        private System.DateTime ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.DateTime Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="LongValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class LongValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private long ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Value
         {
             get
@@ -364,8 +1567,7 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonIntFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonIntFilter))]
-    public partial class OrdinalComparisonIntFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
+    [System.Runtime.Serialization.DataContractAttribute(Name="IntValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class IntValue : HeuristicLab.Clients.OKB.Query.Value
     {
         
@@ -392,41 +1594,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonIntFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class NameOrdinalComparisonIntFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonIntFilter
-    {
-        
-        private string NameField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Name
-        {
-            get
-            {
-                return this.NameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.NameField, value) != true))
-                {
-                    this.NameField = value;
-                    this.RaisePropertyChanged("Name");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonLongFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonLongFilter))]
-    public partial class OrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
-    {
-        
-        private long ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public long Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="DoubleValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class DoubleValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private double ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public double Value
         {
             get
@@ -447,41 +1621,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonLongFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class NameOrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonLongFilter
-    {
-        
-        private string NameField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Name
-        {
-            get
-            {
-                return this.NameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.NameField, value) != true))
-                {
-                    this.NameField = value;
-                    this.RaisePropertyChanged("Name");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonDoubleFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonDoubleFilter))]
-    public partial class OrdinalComparisonDoubleFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
-    {
-        
-        private double ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public double Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="StringValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class StringValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private string ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Value
         {
             get
@@ -491,5 +1637,5 @@
             set
             {
-                if ((this.ValueField.Equals(value) != true))
+                if ((object.ReferenceEquals(this.ValueField, value) != true))
                 {
                     this.ValueField = value;
@@ -502,41 +1648,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonDoubleFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class NameOrdinalComparisonDoubleFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonDoubleFilter
-    {
-        
-        private string NameField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Name
-        {
-            get
-            {
-                return this.NameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.NameField, value) != true))
-                {
-                    this.NameField = value;
-                    this.RaisePropertyChanged("Name");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonPercentFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonPercentFilter))]
-    public partial class OrdinalComparisonPercentFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
-    {
-        
-        private double ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public double Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="BoolValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class BoolValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private bool ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool Value
         {
             get
@@ -557,35 +1675,7 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonPercentFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class NameOrdinalComparisonPercentFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonPercentFilter
-    {
-        
-        private string NameField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Name
-        {
-            get
-            {
-                return this.NameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.NameField, value) != true))
-                {
-                    this.NameField = value;
-                    this.RaisePropertyChanged("Name");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonTimeSpanFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonTimeSpanFilter))]
-    public partial class OrdinalComparisonTimeSpanFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
+    [System.Runtime.Serialization.DataContractAttribute(Name="TimeSpanValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class TimeSpanValue : HeuristicLab.Clients.OKB.Query.Value
     {
         
@@ -612,118 +1702,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonTimeSpanFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class NameOrdinalComparisonTimeSpanFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonTimeSpanFilter
-    {
-        
-        private string NameField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Name
-        {
-            get
-            {
-                return this.NameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.NameField, value) != true))
-                {
-                    this.NameField = value;
-                    this.RaisePropertyChanged("Name");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="CombinedFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class CombinedFilter : HeuristicLab.Clients.OKB.Query.Filter
-    {
-        
-        private System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Filter> FiltersField;
-        
-        private HeuristicLab.Clients.OKB.Query.BooleanOperation OperationField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Filter> Filters
-        {
-            get
-            {
-                return this.FiltersField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.FiltersField, value) != true))
-                {
-                    this.FiltersField = value;
-                    this.RaisePropertyChanged("Filters");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public HeuristicLab.Clients.OKB.Query.BooleanOperation Operation
-        {
-            get
-            {
-                return this.OperationField;
-            }
-            set
-            {
-                if ((this.OperationField.Equals(value) != true))
-                {
-                    this.OperationField = value;
-                    this.RaisePropertyChanged("Operation");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="EqualityComparisonFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.EqualityComparisonBoolFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameEqualityComparisonBoolFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.EqualityComparisonByteArrayFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameEqualityComparisonByteArrayFilter))]
-    public partial class EqualityComparisonFilter : HeuristicLab.Clients.OKB.Query.Filter
-    {
-        
-        private HeuristicLab.Clients.OKB.Query.EqualityComparison ComparisonField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public HeuristicLab.Clients.OKB.Query.EqualityComparison Comparison
-        {
-            get
-            {
-                return this.ComparisonField;
-            }
-            set
-            {
-                if ((this.ComparisonField.Equals(value) != true))
-                {
-                    this.ComparisonField = value;
-                    this.RaisePropertyChanged("Comparison");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="EqualityComparisonBoolFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameEqualityComparisonBoolFilter))]
-    public partial class EqualityComparisonBoolFilter : HeuristicLab.Clients.OKB.Query.EqualityComparisonFilter
-    {
-        
-        private bool ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public bool Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="FloatValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class FloatValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private float ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public float Value
         {
             get
@@ -734,989 +1719,4 @@
             {
                 if ((this.ValueField.Equals(value) != true))
-                {
-                    this.ValueField = value;
-                    this.RaisePropertyChanged("Value");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="NameEqualityComparisonBoolFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class NameEqualityComparisonBoolFilter : HeuristicLab.Clients.OKB.Query.EqualityComparisonBoolFilter
-    {
-        
-        private string NameField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Name
-        {
-            get
-            {
-                return this.NameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.NameField, value) != true))
-                {
-                    this.NameField = value;
-                    this.RaisePropertyChanged("Name");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="EqualityComparisonByteArrayFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameEqualityComparisonByteArrayFilter))]
-    public partial class EqualityComparisonByteArrayFilter : HeuristicLab.Clients.OKB.Query.EqualityComparisonFilter
-    {
-        
-        private byte[] ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public byte[] Value
-        {
-            get
-            {
-                return this.ValueField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.ValueField, value) != true))
-                {
-                    this.ValueField = value;
-                    this.RaisePropertyChanged("Value");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="NameEqualityComparisonByteArrayFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class NameEqualityComparisonByteArrayFilter : HeuristicLab.Clients.OKB.Query.EqualityComparisonByteArrayFilter
-    {
-        
-        private string NameField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Name
-        {
-            get
-            {
-                return this.NameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.NameField, value) != true))
-                {
-                    this.NameField = value;
-                    this.RaisePropertyChanged("Name");
-                }
-            }
-        }
-    }
-    
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="StringComparison", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public enum StringComparison : int
-    {
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Equal = 0,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        NotEqual = 1,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Contains = 2,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        NotContains = 3,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Like = 4,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        NotLike = 5,
-    }
-    
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparison", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public enum OrdinalComparison : int
-    {
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Less = 0,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        LessOrEqual = 1,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Equal = 2,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        GreaterOrEqual = 3,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Greater = 4,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        NotEqual = 5,
-    }
-    
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="BooleanOperation", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public enum BooleanOperation : int
-    {
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        And = 0,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Or = 1,
-    }
-    
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="EqualityComparison", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public enum EqualityComparison : int
-    {
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Equal = 0,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        NotEqual = 1,
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="Run", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class Run : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
-    {
-        
-        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-        
-        private HeuristicLab.Clients.OKB.Query.Algorithm AlgorithmField;
-        
-        private System.Guid ClientIdField;
-        
-        private System.DateTime CreatedDateField;
-        
-        private long IdField;
-        
-        private System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Value> ParameterValuesField;
-        
-        private HeuristicLab.Clients.OKB.Query.Problem ProblemField;
-        
-        private System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Value> ResultValuesField;
-        
-        private System.Guid UserIdField;
-        
-        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
-        {
-            get
-            {
-                return this.extensionDataField;
-            }
-            set
-            {
-                this.extensionDataField = value;
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public HeuristicLab.Clients.OKB.Query.Algorithm Algorithm
-        {
-            get
-            {
-                return this.AlgorithmField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.AlgorithmField, value) != true))
-                {
-                    this.AlgorithmField = value;
-                    this.RaisePropertyChanged("Algorithm");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Guid ClientId
-        {
-            get
-            {
-                return this.ClientIdField;
-            }
-            set
-            {
-                if ((this.ClientIdField.Equals(value) != true))
-                {
-                    this.ClientIdField = value;
-                    this.RaisePropertyChanged("ClientId");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.DateTime CreatedDate
-        {
-            get
-            {
-                return this.CreatedDateField;
-            }
-            set
-            {
-                if ((this.CreatedDateField.Equals(value) != true))
-                {
-                    this.CreatedDateField = value;
-                    this.RaisePropertyChanged("CreatedDate");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public long Id
-        {
-            get
-            {
-                return this.IdField;
-            }
-            set
-            {
-                if ((this.IdField.Equals(value) != true))
-                {
-                    this.IdField = value;
-                    this.RaisePropertyChanged("Id");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Value> ParameterValues
-        {
-            get
-            {
-                return this.ParameterValuesField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.ParameterValuesField, value) != true))
-                {
-                    this.ParameterValuesField = value;
-                    this.RaisePropertyChanged("ParameterValues");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public HeuristicLab.Clients.OKB.Query.Problem Problem
-        {
-            get
-            {
-                return this.ProblemField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.ProblemField, value) != true))
-                {
-                    this.ProblemField = value;
-                    this.RaisePropertyChanged("Problem");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Value> ResultValues
-        {
-            get
-            {
-                return this.ResultValuesField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.ResultValuesField, value) != true))
-                {
-                    this.ResultValuesField = value;
-                    this.RaisePropertyChanged("ResultValues");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Guid UserId
-        {
-            get
-            {
-                return this.UserIdField;
-            }
-            set
-            {
-                if ((this.UserIdField.Equals(value) != true))
-                {
-                    this.UserIdField = value;
-                    this.RaisePropertyChanged("UserId");
-                }
-            }
-        }
-        
-        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
-        
-        protected void RaisePropertyChanged(string propertyName)
-        {
-            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
-            if ((propertyChanged != null))
-            {
-                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="Algorithm", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class Algorithm : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
-    {
-        
-        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-        
-        private string AlgorithmClassField;
-        
-        private HeuristicLab.Clients.OKB.Query.DataType DataTypeField;
-        
-        private string DescriptionField;
-        
-        private long IdField;
-        
-        private string NameField;
-        
-        private string PlatformField;
-        
-        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
-        {
-            get
-            {
-                return this.extensionDataField;
-            }
-            set
-            {
-                this.extensionDataField = value;
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string AlgorithmClass
-        {
-            get
-            {
-                return this.AlgorithmClassField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.AlgorithmClassField, value) != true))
-                {
-                    this.AlgorithmClassField = value;
-                    this.RaisePropertyChanged("AlgorithmClass");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public HeuristicLab.Clients.OKB.Query.DataType DataType
-        {
-            get
-            {
-                return this.DataTypeField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
-                {
-                    this.DataTypeField = value;
-                    this.RaisePropertyChanged("DataType");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Description
-        {
-            get
-            {
-                return this.DescriptionField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
-                {
-                    this.DescriptionField = value;
-                    this.RaisePropertyChanged("Description");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public long Id
-        {
-            get
-            {
-                return this.IdField;
-            }
-            set
-            {
-                if ((this.IdField.Equals(value) != true))
-                {
-                    this.IdField = value;
-                    this.RaisePropertyChanged("Id");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Name
-        {
-            get
-            {
-                return this.NameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.NameField, value) != true))
-                {
-                    this.NameField = value;
-                    this.RaisePropertyChanged("Name");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Platform
-        {
-            get
-            {
-                return this.PlatformField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.PlatformField, value) != true))
-                {
-                    this.PlatformField = value;
-                    this.RaisePropertyChanged("Platform");
-                }
-            }
-        }
-        
-        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
-        
-        protected void RaisePropertyChanged(string propertyName)
-        {
-            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
-            if ((propertyChanged != null))
-            {
-                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="Problem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class Problem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
-    {
-        
-        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-        
-        private HeuristicLab.Clients.OKB.Query.DataType DataTypeField;
-        
-        private string DescriptionField;
-        
-        private string NameField;
-        
-        private string PlatformField;
-        
-        private string ProblemClassField;
-        
-        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
-        {
-            get
-            {
-                return this.extensionDataField;
-            }
-            set
-            {
-                this.extensionDataField = value;
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public HeuristicLab.Clients.OKB.Query.DataType DataType
-        {
-            get
-            {
-                return this.DataTypeField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
-                {
-                    this.DataTypeField = value;
-                    this.RaisePropertyChanged("DataType");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Description
-        {
-            get
-            {
-                return this.DescriptionField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.DescriptionField, value) != true))
-                {
-                    this.DescriptionField = value;
-                    this.RaisePropertyChanged("Description");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Name
-        {
-            get
-            {
-                return this.NameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.NameField, value) != true))
-                {
-                    this.NameField = value;
-                    this.RaisePropertyChanged("Name");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Platform
-        {
-            get
-            {
-                return this.PlatformField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.PlatformField, value) != true))
-                {
-                    this.PlatformField = value;
-                    this.RaisePropertyChanged("Platform");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string ProblemClass
-        {
-            get
-            {
-                return this.ProblemClassField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.ProblemClassField, value) != true))
-                {
-                    this.ProblemClassField = value;
-                    this.RaisePropertyChanged("ProblemClass");
-                }
-            }
-        }
-        
-        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
-        
-        protected void RaisePropertyChanged(string propertyName)
-        {
-            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
-            if ((propertyChanged != null))
-            {
-                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="Value", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.LongValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.FloatValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.DoubleValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.TimeSpanValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.IntValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.PercentValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.BoolValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.StringValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.BinaryValue))]
-    public partial class Value : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
-    {
-        
-        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-        
-        private HeuristicLab.Clients.OKB.Query.DataType DataTypeField;
-        
-        private string NameField;
-        
-        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
-        {
-            get
-            {
-                return this.extensionDataField;
-            }
-            set
-            {
-                this.extensionDataField = value;
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public HeuristicLab.Clients.OKB.Query.DataType DataType
-        {
-            get
-            {
-                return this.DataTypeField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.DataTypeField, value) != true))
-                {
-                    this.DataTypeField = value;
-                    this.RaisePropertyChanged("DataType");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Name
-        {
-            get
-            {
-                return this.NameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.NameField, value) != true))
-                {
-                    this.NameField = value;
-                    this.RaisePropertyChanged("Name");
-                }
-            }
-        }
-        
-        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
-        
-        protected void RaisePropertyChanged(string propertyName)
-        {
-            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
-            if ((propertyChanged != null))
-            {
-                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="DataType", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class DataType : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
-    {
-        
-        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-        
-        private string NameField;
-        
-        private string TypeNameField;
-        
-        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
-        {
-            get
-            {
-                return this.extensionDataField;
-            }
-            set
-            {
-                this.extensionDataField = value;
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Name
-        {
-            get
-            {
-                return this.NameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.NameField, value) != true))
-                {
-                    this.NameField = value;
-                    this.RaisePropertyChanged("Name");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string TypeName
-        {
-            get
-            {
-                return this.TypeNameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.TypeNameField, value) != true))
-                {
-                    this.TypeNameField = value;
-                    this.RaisePropertyChanged("TypeName");
-                }
-            }
-        }
-        
-        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
-        
-        protected void RaisePropertyChanged(string propertyName)
-        {
-            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
-            if ((propertyChanged != null))
-            {
-                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="LongValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class LongValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private long ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public long Value
-        {
-            get
-            {
-                return this.ValueField;
-            }
-            set
-            {
-                if ((this.ValueField.Equals(value) != true))
-                {
-                    this.ValueField = value;
-                    this.RaisePropertyChanged("Value");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="FloatValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class FloatValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private float ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public float Value
-        {
-            get
-            {
-                return this.ValueField;
-            }
-            set
-            {
-                if ((this.ValueField.Equals(value) != true))
-                {
-                    this.ValueField = value;
-                    this.RaisePropertyChanged("Value");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="DoubleValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class DoubleValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private double ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public double Value
-        {
-            get
-            {
-                return this.ValueField;
-            }
-            set
-            {
-                if ((this.ValueField.Equals(value) != true))
-                {
-                    this.ValueField = value;
-                    this.RaisePropertyChanged("Value");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="TimeSpanValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class TimeSpanValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private long ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public long Value
-        {
-            get
-            {
-                return this.ValueField;
-            }
-            set
-            {
-                if ((this.ValueField.Equals(value) != true))
-                {
-                    this.ValueField = value;
-                    this.RaisePropertyChanged("Value");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="IntValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class IntValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private int ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public int Value
-        {
-            get
-            {
-                return this.ValueField;
-            }
-            set
-            {
-                if ((this.ValueField.Equals(value) != true))
-                {
-                    this.ValueField = value;
-                    this.RaisePropertyChanged("Value");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="PercentValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class PercentValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private double ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public double Value
-        {
-            get
-            {
-                return this.ValueField;
-            }
-            set
-            {
-                if ((this.ValueField.Equals(value) != true))
-                {
-                    this.ValueField = value;
-                    this.RaisePropertyChanged("Value");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="BoolValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class BoolValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private bool ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public bool Value
-        {
-            get
-            {
-                return this.ValueField;
-            }
-            set
-            {
-                if ((this.ValueField.Equals(value) != true))
-                {
-                    this.ValueField = value;
-                    this.RaisePropertyChanged("Value");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="StringValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class StringValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private string ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Value
-        {
-            get
-            {
-                return this.ValueField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.ValueField, value) != true))
                 {
                     this.ValueField = value;
@@ -1864,36 +1864,18 @@
         System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Filter> GetFilters();
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IQueryService/GetFilters", ReplyAction="http://tempuri.org/IQueryService/GetFiltersResponse")]
-        System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Filter>> GetFiltersAsync();
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IQueryService/GetNumberOfRuns", ReplyAction="http://tempuri.org/IQueryService/GetNumberOfRunsResponse")]
         long GetNumberOfRuns(HeuristicLab.Clients.OKB.Query.Filter filter);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IQueryService/GetNumberOfRuns", ReplyAction="http://tempuri.org/IQueryService/GetNumberOfRunsResponse")]
-        System.Threading.Tasks.Task<long> GetNumberOfRunsAsync(HeuristicLab.Clients.OKB.Query.Filter filter);
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IQueryService/GetRunIds", ReplyAction="http://tempuri.org/IQueryService/GetRunIdsResponse")]
         System.Collections.Generic.List<long> GetRunIds(HeuristicLab.Clients.OKB.Query.Filter filter);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IQueryService/GetRunIds", ReplyAction="http://tempuri.org/IQueryService/GetRunIdsResponse")]
-        System.Threading.Tasks.Task<System.Collections.Generic.List<long>> GetRunIdsAsync(HeuristicLab.Clients.OKB.Query.Filter filter);
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IQueryService/GetRuns", ReplyAction="http://tempuri.org/IQueryService/GetRunsResponse")]
         System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Run> GetRuns(System.Collections.Generic.List<long> ids, bool includeBinaryValues);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IQueryService/GetRuns", ReplyAction="http://tempuri.org/IQueryService/GetRunsResponse")]
-        System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Run>> GetRunsAsync(System.Collections.Generic.List<long> ids, bool includeBinaryValues);
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IQueryService/GetRunsWithValues", ReplyAction="http://tempuri.org/IQueryService/GetRunsWithValuesResponse")]
         System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Run> GetRunsWithValues(System.Collections.Generic.List<long> ids, bool includeBinaryValues, System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.ValueName> valueNames);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IQueryService/GetRunsWithValues", ReplyAction="http://tempuri.org/IQueryService/GetRunsWithValuesResponse")]
-        System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Run>> GetRunsWithValuesAsync(System.Collections.Generic.List<long> ids, bool includeBinaryValues, System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.ValueName> valueNames);
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IQueryService/GetValueNames", ReplyAction="http://tempuri.org/IQueryService/GetValueNamesResponse")]
         System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.ValueName> GetValueNames();
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IQueryService/GetValueNames", ReplyAction="http://tempuri.org/IQueryService/GetValueNamesResponse")]
-        System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.ValueName>> GetValueNamesAsync();
     }
     
@@ -1937,9 +1919,4 @@
         }
         
-        public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Filter>> GetFiltersAsync()
-        {
-            return base.Channel.GetFiltersAsync();
-        }
-        
         public long GetNumberOfRuns(HeuristicLab.Clients.OKB.Query.Filter filter)
         {
@@ -1947,9 +1924,4 @@
         }
         
-        public System.Threading.Tasks.Task<long> GetNumberOfRunsAsync(HeuristicLab.Clients.OKB.Query.Filter filter)
-        {
-            return base.Channel.GetNumberOfRunsAsync(filter);
-        }
-        
         public System.Collections.Generic.List<long> GetRunIds(HeuristicLab.Clients.OKB.Query.Filter filter)
         {
@@ -1957,9 +1929,4 @@
         }
         
-        public System.Threading.Tasks.Task<System.Collections.Generic.List<long>> GetRunIdsAsync(HeuristicLab.Clients.OKB.Query.Filter filter)
-        {
-            return base.Channel.GetRunIdsAsync(filter);
-        }
-        
         public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Run> GetRuns(System.Collections.Generic.List<long> ids, bool includeBinaryValues)
         {
@@ -1967,9 +1934,4 @@
         }
         
-        public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Run>> GetRunsAsync(System.Collections.Generic.List<long> ids, bool includeBinaryValues)
-        {
-            return base.Channel.GetRunsAsync(ids, includeBinaryValues);
-        }
-        
         public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Run> GetRunsWithValues(System.Collections.Generic.List<long> ids, bool includeBinaryValues, System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.ValueName> valueNames)
         {
@@ -1977,18 +1939,8 @@
         }
         
-        public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Run>> GetRunsWithValuesAsync(System.Collections.Generic.List<long> ids, bool includeBinaryValues, System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.ValueName> valueNames)
-        {
-            return base.Channel.GetRunsWithValuesAsync(ids, includeBinaryValues, valueNames);
-        }
-        
         public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.ValueName> GetValueNames()
         {
             return base.Channel.GetValueNames();
         }
-        
-        public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.ValueName>> GetValueNamesAsync()
-        {
-            return base.Channel.GetValueNamesAsync();
-        }
     }
 }
Index: stable/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/GenerateServiceClient.cmd
===================================================================
--- stable/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/GenerateServiceClient.cmd	(revision 15260)
+++ stable/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/GenerateServiceClient.cmd	(revision 15261)
@@ -1,24 +1,42 @@
-echo off
+@ECHO OFF
 
-echo.
-echo *******************************************************************************************
-echo Generating OKB run creation service client
-echo.
+SET HOST=
+SET GENERATECONFIG=
 
-REM If app.config should be generated, use option "/config:..\..\app.config" and optionally "/mergeConfig" instead of "/noConfig".
+ECHO.
+ECHO *******************************************************************************************
 
-svcutil.exe ^
-  http://localhost:8732/Design_Time_Addresses/OKB-3.3/RunCreationService/mex ^
-  /out:RunCreationServiceClient ^
-  /namespace:*,HeuristicLab.Clients.OKB.RunCreation ^
-  /collectionType:System.Collections.Generic.List`1 ^
-  /targetClientVersion:Version35 ^
-  /enableDataBinding ^
-  /noConfig
+SET /P HOST=Which host should be used? [services.heuristiclab.com]: 
+IF "%HOST%"=="" SET HOST=services.heuristiclab.com
 
-echo.
-echo Generation of OKB run creation service client finished.
-echo *******************************************************************************************
-echo.
+SET /P GENERATECONFIG=Would you like to generate the configuration file? [y]: 
+IF "%GENERATECONFIG%"=="" SET GENERATECONFIG=y
 
-pause
+SET ARGS=http://%HOST%/OKB-3.3/RunCreationService.svc?wsdl ^
+/out:RunCreationServiceClient ^
+/namespace:*,HeuristicLab.Clients.OKB.RunCreation ^
+/collectionType:System.Collections.Generic.List`1 ^
+/targetClientVersion:Version35 ^
+/enableDataBinding ^
+/syncOnly
+
+IF "%GENERATECONFIG%"=="y" (
+  SET ARGS=%ARGS% /config:..\..\app.config /mergeConfig
+) ELSE (
+  SET ARGS=%ARGS% /noConfig
+)
+
+ECHO.
+ECHO Generating RunCreationService client
+ECHO.
+
+SETLOCAL ENABLEDELAYEDEXPANSION
+svcutil.exe %ARGS%
+ENDLOCAL
+
+ECHO.
+ECHO Generation of RunCreationService client finished.
+ECHO *******************************************************************************************
+ECHO.
+
+PAUSE
Index: stable/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/RunCreationServiceClient.cs
===================================================================
--- stable/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/RunCreationServiceClient.cs	(revision 15260)
+++ stable/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/RunCreationServiceClient.cs	(revision 15261)
@@ -1270,24 +1270,12 @@
         System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Algorithm> GetAlgorithms(string platformName);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetAlgorithms", ReplyAction="http://tempuri.org/IRunCreationService/GetAlgorithmsResponse")]
-        System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Algorithm>> GetAlgorithmsAsync(string platformName);
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetAlgorithmData", ReplyAction="http://tempuri.org/IRunCreationService/GetAlgorithmDataResponse")]
         byte[] GetAlgorithmData(long algorithmId);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetAlgorithmData", ReplyAction="http://tempuri.org/IRunCreationService/GetAlgorithmDataResponse")]
-        System.Threading.Tasks.Task<byte[]> GetAlgorithmDataAsync(long algorithmId);
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetProblems", ReplyAction="http://tempuri.org/IRunCreationService/GetProblemsResponse")]
         System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem> GetProblems(string platformName);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetProblems", ReplyAction="http://tempuri.org/IRunCreationService/GetProblemsResponse")]
-        System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem>> GetProblemsAsync(string platformName);
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetProblemData", ReplyAction="http://tempuri.org/IRunCreationService/GetProblemDataResponse")]
         byte[] GetProblemData(long problemId);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetProblemData", ReplyAction="http://tempuri.org/IRunCreationService/GetProblemDataResponse")]
-        System.Threading.Tasks.Task<byte[]> GetProblemDataAsync(long problemId);
         
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetSolutions", ReplyAction="http://tempuri.org/IRunCreationService/GetSolutionsResponse")]
@@ -1295,12 +1283,6 @@
         System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Solution> GetSolutions(long problemId);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetSolutions", ReplyAction="http://tempuri.org/IRunCreationService/GetSolutionsResponse")]
-        System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Solution>> GetSolutionsAsync(long problemId);
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetSolution", ReplyAction="http://tempuri.org/IRunCreationService/GetSolutionResponse")]
         HeuristicLab.Clients.OKB.RunCreation.Solution GetSolution(long solutionId);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetSolution", ReplyAction="http://tempuri.org/IRunCreationService/GetSolutionResponse")]
-        System.Threading.Tasks.Task<HeuristicLab.Clients.OKB.RunCreation.Solution> GetSolutionAsync(long solutionId);
         
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetSolutionData", ReplyAction="http://tempuri.org/IRunCreationService/GetSolutionDataResponse")]
@@ -1308,30 +1290,15 @@
         byte[] GetSolutionData(long solutionId);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetSolutionData", ReplyAction="http://tempuri.org/IRunCreationService/GetSolutionDataResponse")]
-        System.Threading.Tasks.Task<byte[]> GetSolutionDataAsync(long solutionId);
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/AddSolution", ReplyAction="http://tempuri.org/IRunCreationService/AddSolutionResponse")]
         long AddSolution(HeuristicLab.Clients.OKB.RunCreation.Solution solution, byte[] data);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/AddSolution", ReplyAction="http://tempuri.org/IRunCreationService/AddSolutionResponse")]
-        System.Threading.Tasks.Task<long> AddSolutionAsync(HeuristicLab.Clients.OKB.RunCreation.Solution solution, byte[] data);
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/DeleteSolution", ReplyAction="http://tempuri.org/IRunCreationService/DeleteSolutionResponse")]
         void DeleteSolution(HeuristicLab.Clients.OKB.RunCreation.Solution solution);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/DeleteSolution", ReplyAction="http://tempuri.org/IRunCreationService/DeleteSolutionResponse")]
-        System.Threading.Tasks.Task DeleteSolutionAsync(HeuristicLab.Clients.OKB.RunCreation.Solution solution);
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/AddRun", ReplyAction="http://tempuri.org/IRunCreationService/AddRunResponse")]
         void AddRun(HeuristicLab.Clients.OKB.RunCreation.Run run);
         
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/AddRun", ReplyAction="http://tempuri.org/IRunCreationService/AddRunResponse")]
-        System.Threading.Tasks.Task AddRunAsync(HeuristicLab.Clients.OKB.RunCreation.Run run);
-        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetCharacteristicValues", ReplyAction="http://tempuri.org/IRunCreationService/GetCharacteristicValuesResponse")]
         System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> GetCharacteristicValues(long problemId);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetCharacteristicValues", ReplyAction="http://tempuri.org/IRunCreationService/GetCharacteristicValuesResponse")]
-        System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value>> GetCharacteristicValuesAsync(long problemId);
         
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/SetCharacteristicValue", ReplyAction="http://tempuri.org/IRunCreationService/SetCharacteristicValueResponse")]
@@ -1340,7 +1307,4 @@
             "cTypeFault", Name="UnknownCharacteristicType", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
         void SetCharacteristicValue(long problemId, HeuristicLab.Clients.OKB.RunCreation.Value value);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/SetCharacteristicValue", ReplyAction="http://tempuri.org/IRunCreationService/SetCharacteristicValueResponse")]
-        System.Threading.Tasks.Task SetCharacteristicValueAsync(long problemId, HeuristicLab.Clients.OKB.RunCreation.Value value);
         
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/SetCharacteristicValues", ReplyAction="http://tempuri.org/IRunCreationService/SetCharacteristicValuesResponse")]
@@ -1350,7 +1314,4 @@
             "", Name="MissingProblem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
         void SetCharacteristicValues(long problemId, System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> values);
-        
-        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/SetCharacteristicValues", ReplyAction="http://tempuri.org/IRunCreationService/SetCharacteristicValuesResponse")]
-        System.Threading.Tasks.Task SetCharacteristicValuesAsync(long problemId, System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> values);
     }
     
@@ -1394,9 +1355,4 @@
         }
         
-        public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Algorithm>> GetAlgorithmsAsync(string platformName)
-        {
-            return base.Channel.GetAlgorithmsAsync(platformName);
-        }
-        
         public byte[] GetAlgorithmData(long algorithmId)
         {
@@ -1404,9 +1360,4 @@
         }
         
-        public System.Threading.Tasks.Task<byte[]> GetAlgorithmDataAsync(long algorithmId)
-        {
-            return base.Channel.GetAlgorithmDataAsync(algorithmId);
-        }
-        
         public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem> GetProblems(string platformName)
         {
@@ -1414,9 +1365,4 @@
         }
         
-        public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem>> GetProblemsAsync(string platformName)
-        {
-            return base.Channel.GetProblemsAsync(platformName);
-        }
-        
         public byte[] GetProblemData(long problemId)
         {
@@ -1424,9 +1370,4 @@
         }
         
-        public System.Threading.Tasks.Task<byte[]> GetProblemDataAsync(long problemId)
-        {
-            return base.Channel.GetProblemDataAsync(problemId);
-        }
-        
         public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Solution> GetSolutions(long problemId)
         {
@@ -1434,9 +1375,4 @@
         }
         
-        public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Solution>> GetSolutionsAsync(long problemId)
-        {
-            return base.Channel.GetSolutionsAsync(problemId);
-        }
-        
         public HeuristicLab.Clients.OKB.RunCreation.Solution GetSolution(long solutionId)
         {
@@ -1444,9 +1380,4 @@
         }
         
-        public System.Threading.Tasks.Task<HeuristicLab.Clients.OKB.RunCreation.Solution> GetSolutionAsync(long solutionId)
-        {
-            return base.Channel.GetSolutionAsync(solutionId);
-        }
-        
         public byte[] GetSolutionData(long solutionId)
         {
@@ -1454,9 +1385,4 @@
         }
         
-        public System.Threading.Tasks.Task<byte[]> GetSolutionDataAsync(long solutionId)
-        {
-            return base.Channel.GetSolutionDataAsync(solutionId);
-        }
-        
         public long AddSolution(HeuristicLab.Clients.OKB.RunCreation.Solution solution, byte[] data)
         {
@@ -1464,9 +1390,4 @@
         }
         
-        public System.Threading.Tasks.Task<long> AddSolutionAsync(HeuristicLab.Clients.OKB.RunCreation.Solution solution, byte[] data)
-        {
-            return base.Channel.AddSolutionAsync(solution, data);
-        }
-        
         public void DeleteSolution(HeuristicLab.Clients.OKB.RunCreation.Solution solution)
         {
@@ -1474,9 +1395,4 @@
         }
         
-        public System.Threading.Tasks.Task DeleteSolutionAsync(HeuristicLab.Clients.OKB.RunCreation.Solution solution)
-        {
-            return base.Channel.DeleteSolutionAsync(solution);
-        }
-        
         public void AddRun(HeuristicLab.Clients.OKB.RunCreation.Run run)
         {
@@ -1484,9 +1400,4 @@
         }
         
-        public System.Threading.Tasks.Task AddRunAsync(HeuristicLab.Clients.OKB.RunCreation.Run run)
-        {
-            return base.Channel.AddRunAsync(run);
-        }
-        
         public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> GetCharacteristicValues(long problemId)
         {
@@ -1494,9 +1405,4 @@
         }
         
-        public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value>> GetCharacteristicValuesAsync(long problemId)
-        {
-            return base.Channel.GetCharacteristicValuesAsync(problemId);
-        }
-        
         public void SetCharacteristicValue(long problemId, HeuristicLab.Clients.OKB.RunCreation.Value value)
         {
@@ -1504,18 +1410,8 @@
         }
         
-        public System.Threading.Tasks.Task SetCharacteristicValueAsync(long problemId, HeuristicLab.Clients.OKB.RunCreation.Value value)
-        {
-            return base.Channel.SetCharacteristicValueAsync(problemId, value);
-        }
-        
         public void SetCharacteristicValues(long problemId, System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> values)
         {
             base.Channel.SetCharacteristicValues(problemId, values);
         }
-        
-        public System.Threading.Tasks.Task SetCharacteristicValuesAsync(long problemId, System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Value> values)
-        {
-            return base.Channel.SetCharacteristicValuesAsync(problemId, values);
-        }
     }
 }
Index: stable/HeuristicLab.Clients.OKB/3.3/app.config
===================================================================
--- stable/HeuristicLab.Clients.OKB/3.3/app.config	(revision 15260)
+++ stable/HeuristicLab.Clients.OKB/3.3/app.config	(revision 15261)
@@ -1,44 +1,50 @@
 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
+  <configSections>
+    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
+      <section name="HeuristicLab.Clients.OKB.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+    </sectionGroup>
+  </configSections>
+
+
+  <!--
+    !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
+    If you want to update the configuration with the GenerateServiceClients.cmd, make sure to remove all child nodes of system.serviceModel first.
+  -->
   <system.serviceModel>
-    <behaviors>
-      <endpointBehaviors>
-        <behavior name="DefaultEndpointBehavior">
-          <dataContractSerializer maxItemsInObjectGraph="200000000"/>
-        </behavior>
-      </endpointBehaviors>
-    </behaviors>
     <bindings>
-      <wsHttpBinding>
-        <binding name="WSHttpBinding_IAdministrationService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="200000000" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
-          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="200000000" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
-          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
-          <security mode="Message">
-            <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
-            <message clientCredentialType="UserName" negotiateServiceCredential="true" algorithmSuite="Default"/>
+      <netTcpBinding>
+        <binding name="NetBinding_IQueryService" maxBufferPoolSize="2147483647"
+          maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security mode="TransportWithMessageCredential">
+            <message clientCredentialType="UserName" />
           </security>
         </binding>
-        <binding name="WSHttpBinding_IRunCreationService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="200000000" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
-          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="200000000" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
-          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
-          <security mode="Message">
-            <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
-            <message clientCredentialType="UserName" negotiateServiceCredential="true" algorithmSuite="Default"/>
+      </netTcpBinding>
+      <wsHttpBinding>
+        <binding name="WSHttpBinding_IAdministrationService" maxBufferPoolSize="2147483647"
+          maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security>
+            <message clientCredentialType="UserName" />
           </security>
         </binding>
-        <binding name="WSHttpBinding_IQueryService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="200000000" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
-          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="200000000" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
-          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
-          <security mode="Message">
-            <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
-            <message clientCredentialType="UserName" negotiateServiceCredential="true" algorithmSuite="Default"/>
+        <binding name="WSHttpBinding_IQueryService" maxBufferPoolSize="2147483647"
+          maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security>
+            <message clientCredentialType="UserName" />
           </security>
         </binding>
-        <binding name="WSHttpBinding_IAuthenticationService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
-          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
-          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
-          <security mode="Message">
-            <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
-            <message clientCredentialType="UserName" negotiateServiceCredential="true" algorithmSuite="Default"/>
+        <binding name="WSHttpBinding_IRunCreationService" maxBufferPoolSize="2147483647"
+          maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security>
+            <message clientCredentialType="UserName" />
           </security>
         </binding>
@@ -46,20 +52,55 @@
     </bindings>
     <client>
-      <endpoint address="http://services.heuristiclab.com/OKB-3.3/AdministrationService.svc" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IAdministrationService" contract="HeuristicLab.Clients.OKB.Administration.IAdministrationService" name="WSHttpBinding_IAdministrationService" behaviorConfiguration="DefaultEndpointBehavior">
+      <endpoint address="http://services.heuristiclab.com/OKB-3.3/AdministrationService.svc"
+        binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IAdministrationService"
+        contract="HeuristicLab.Clients.OKB.Administration.IAdministrationService"
+        name="WSHttpBinding_IAdministrationService">
         <identity>
-          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
+          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ==" />
         </identity>
       </endpoint>
-      <endpoint address="http://services.heuristiclab.com/OKB-3.3/RunCreationService.svc" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IRunCreationService" contract="HeuristicLab.Clients.OKB.RunCreation.IRunCreationService" name="WSHttpBinding_IRunCreationService" behaviorConfiguration="DefaultEndpointBehavior">
+      <endpoint address="http://services.heuristiclab.com/OKB-3.3/QueryService.svc"
+        binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IQueryService"
+        contract="HeuristicLab.Clients.OKB.Query.IQueryService" name="WSHttpBinding_IQueryService">
         <identity>
-          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
+          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ==" />
         </identity>
       </endpoint>
-      <endpoint address="http://services.heuristiclab.com/OKB-3.3/QueryService.svc" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IQueryService" contract="HeuristicLab.Clients.OKB.Query.IQueryService" name="WSHttpBinding_IQueryService" behaviorConfiguration="DefaultEndpointBehavior">
+      <endpoint address="net.tcp://services.heuristiclab.com/OKB-3.3/QueryService.svc"
+        binding="netTcpBinding" bindingConfiguration="NetBinding_IQueryService"
+        contract="HeuristicLab.Clients.OKB.Query.IQueryService" name="NetBinding_IQueryService">
         <identity>
-          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
+          <dns value="services.heuristiclab.com" />
+        </identity>
+      </endpoint>
+      <endpoint address="http://services.heuristiclab.com/OKB-3.3/RunCreationService.svc"
+        binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IRunCreationService"
+        contract="HeuristicLab.Clients.OKB.RunCreation.IRunCreationService"
+        name="WSHttpBinding_IRunCreationService">
+        <identity>
+          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ==" />
         </identity>
       </endpoint>
     </client>
   </system.serviceModel>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
+
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
+  </startup>
+  <applicationSettings>
+    <HeuristicLab.Clients.OKB.Properties.Settings>
+      <setting name="MaxEndpointRetries" serializeAs="String">
+        <value>3</value>
+      </setting>
+      <setting name="EndpointConfigurationPriorities" serializeAs="Xml">
+        <value>
+          <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+            <string>NetBinding_IQueryService</string>
+            <string>WSHttpBinding_IQueryService</string>
+          </ArrayOfString>
+        </value>
+      </setting>
+    </HeuristicLab.Clients.OKB.Properties.Settings>
+  </applicationSettings>
+</configuration>
Index: stable/HeuristicLab.PluginInfrastructure/3.3/Advanced/DeploymentService/GenerateServiceClients.cmd
===================================================================
--- stable/HeuristicLab.PluginInfrastructure/3.3/Advanced/DeploymentService/GenerateServiceClients.cmd	(revision 15260)
+++ stable/HeuristicLab.PluginInfrastructure/3.3/Advanced/DeploymentService/GenerateServiceClients.cmd	(revision 15261)
@@ -1,22 +1,40 @@
-echo off
+@ECHO OFF
 
-echo.
-echo *******************************************************************************************
-echo Generating DeploymentService clients
-echo.
+SET HOST=
+SET GENERATECONFIG=
 
-svcutil.exe ^
-  http://services.heuristiclab.com/Deployment-3.3/UpdateService.svc/mex ^
-  http://services.heuristiclab.com/Deployment-3.3/AdminService.svc/mex ^
-  /out:ServiceClients ^
-  /namespace:*,HeuristicLab.PluginInfrastructure.Advanced.DeploymentService ^
-  /targetClientVersion:Version35 ^
-  /mergeConfig ^
-  /config:..\..\app.config
+ECHO.
+ECHO *******************************************************************************************
 
-echo.
-echo Generation of DeploymentService clients finished.
-echo *******************************************************************************************
-echo.
+SET /P HOST=Which host should be used? [services.heuristiclab.com]: 
+IF "%HOST%"=="" SET HOST=services.heuristiclab.com
 
-pause
+SET /P GENERATECONFIG=Would you like to generate the configuration file? [y]: 
+IF "%GENERATECONFIG%"=="" SET GENERATECONFIG=y
+
+SET ARGS=http://%HOST%/Deployment-3.3/UpdateService.svc?wsdl http://%HOST%/Deployment-3.3/AdminService.svc?wsdl ^
+/out:ServiceClients ^
+/namespace:*,HeuristicLab.PluginInfrastructure.Advanced.DeploymentService ^
+/targetClientVersion:Version35 ^
+/syncOnly
+
+IF "%GENERATECONFIG%"=="y" (
+  SET ARGS=%ARGS% /config:..\..\app.config /mergeConfig
+) ELSE (
+  SET ARGS=%ARGS% /noConfig
+)
+
+ECHO.
+ECHO Generating UpdateService and AdminService clients
+ECHO.
+
+SETLOCAL ENABLEDELAYEDEXPANSION
+svcutil.exe %ARGS%
+ENDLOCAL
+
+ECHO.
+ECHO Generation of UpdateService and AdminService clients finished.
+ECHO *******************************************************************************************
+ECHO.
+
+PAUSE
Index: stable/HeuristicLab.PluginInfrastructure/3.3/Advanced/DeploymentService/ServiceClients.cs
===================================================================
--- stable/HeuristicLab.PluginInfrastructure/3.3/Advanced/DeploymentService/ServiceClients.cs	(revision 15260)
+++ stable/HeuristicLab.PluginInfrastructure/3.3/Advanced/DeploymentService/ServiceClients.cs	(revision 15261)
@@ -2,5 +2,5 @@
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:4.0.30319.225
+//     Runtime Version:4.0.30319.42000
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
Index: stable/HeuristicLab.PluginInfrastructure/3.3/app.config
===================================================================
--- stable/HeuristicLab.PluginInfrastructure/3.3/app.config	(revision 15260)
+++ stable/HeuristicLab.PluginInfrastructure/3.3/app.config	(revision 15261)
@@ -36,39 +36,51 @@
   </userSettings>
 
+  <!--
+    !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
+    If you want to update the configuration with the GenerateServiceClients.cmd, make sure to remove all child nodes of system.serviceModel first.
+  -->
   <system.serviceModel>
     <bindings>
       <wsHttpBinding>
-        <binding name="WSHttpBinding_IUpdateService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="200000000" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
-          <readerQuotas maxDepth="32" maxStringContentLength="200000000" maxArrayLength="200000000" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
-          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
-          <security mode="Message">
-            <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
-            <message clientCredentialType="UserName" negotiateServiceCredential="true" algorithmSuite="Default"/>
+        <binding name="WSHttpBinding_IUpdateService" maxBufferPoolSize="2147483647"
+          maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security>
+            <message clientCredentialType="UserName" />
           </security>
         </binding>
-
-        <binding name="WSHttpBinding_IAdminService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="200000000" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
-          <readerQuotas maxDepth="32" maxStringContentLength="200000000" maxArrayLength="200000000" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
-          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
-          <security mode="Message">
-            <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
-            <message clientCredentialType="UserName" negotiateServiceCredential="true" algorithmSuite="Default"/>
+        <binding name="WSHttpBinding_IAdminService" maxBufferPoolSize="2147483647"
+          maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security>
+            <message clientCredentialType="UserName" />
           </security>
         </binding>
       </wsHttpBinding>
     </bindings>
-
     <client>
-      <endpoint address="http://services.heuristiclab.com/Deployment-3.3/UpdateService.svc" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IUpdateService" contract="HeuristicLab.PluginInfrastructure.Advanced.DeploymentService.IUpdateService" name="WSHttpBinding_IUpdateService">
+      <endpoint address="http://services.heuristiclab.com/Deployment-3.3/UpdateService.svc"
+        binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IUpdateService"
+        contract="HeuristicLab.PluginInfrastructure.Advanced.DeploymentService.IUpdateService"
+        name="WSHttpBinding_IUpdateService">
         <identity>
-          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
+          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ==" />
         </identity>
       </endpoint>
-      <endpoint address="http://services.heuristiclab.com/Deployment-3.3/AdminService.svc" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IAdminService" contract="HeuristicLab.PluginInfrastructure.Advanced.DeploymentService.IAdminService" name="WSHttpBinding_IAdminService">
+      <endpoint address="http://services.heuristiclab.com/Deployment-3.3/AdminService.svc"
+        binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IAdminService"
+        contract="HeuristicLab.PluginInfrastructure.Advanced.DeploymentService.IAdminService"
+        name="WSHttpBinding_IAdminService">
         <identity>
-          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ=="/>
+          <certificate encodedValue="AwAAAAEAAAAUAAAAwK1+2oAmcy/mI2P2QjyiJRh0y60gAAAAAQAAACoCAAAwggImMIIBj6ADAgECAhAIkseQ2EEhgU720qJA61gqMA0GCSqGSIb3DQEBBAUAMCQxIjAgBgNVBAMTGXNlcnZpY2VzLmhldXJpc3RpY2xhYi5jb20wHhcNMTAwNTExMTExNDAyWhcNMzkxMjMxMjM1OTU5WjAkMSIwIAYDVQQDExlzZXJ2aWNlcy5oZXVyaXN0aWNsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq26Bwmwc7k+4W30qLQ2j+FInEL5BuH6opDY6CSlrtt3xQS/anrhvpbf3QghLDVINzcHkzbPmm/SguG4F85QLB6xO+tJaOvRo0iEK5g3c307vMIru7FJwk/OhplEQ5J1hbDgL3zOJlrWlgtqRVxCtVdF3XroI9BctOt1NkeKv9ewIDAQABo1kwVzBVBgNVHQEETjBMgBCjbgdYd4j5JgUuJ1Wo/GxroSYwJDEiMCAGA1UEAxMZc2VydmljZXMuaGV1cmlzdGljbGFiLmNvbYIQCJLHkNhBIYFO9tKiQOtYKjANBgkqhkiG9w0BAQQFAAOBgQAb/2xk2uQad68shSPl/uixWgvFI8WkxOTBopOLaLtDxwCeZ3mWVHdV9VnixHtThubnEBXAhYOCQSIXWtQuXFWO+gH3YyjTRJY5kTmXyuvBRTn3/so5SrQ7Rdlm9hf6E5YVX3tCjAy7ybUyaDUkQfmH5vmvgvpMzRfsJ1qhnUpJiQ==" />
         </identity>
       </endpoint>
     </client>
   </system.serviceModel>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
+
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
+  </startup>
+</configuration>
Index: stable/HeuristicLab.Services.Access.DataAccess/3.3/ASPNETAuthentication.dbml
===================================================================
--- stable/HeuristicLab.Services.Access.DataAccess/3.3/ASPNETAuthentication.dbml	(revision 15260)
+++ stable/HeuristicLab.Services.Access.DataAccess/3.3/ASPNETAuthentication.dbml	(revision 15261)
@@ -1,4 +1,4 @@
 ﻿<?xml version="1.0" encoding="utf-8"?><Database Name="HeuristicLab.Authentication" Class="ASPNETAuthenticationDataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
-  <Connection Mode="AppSettings" ConnectionString="Data Source=.;Initial Catalog=HeuristicLab.Authentication;Integrated Security=True" SettingsObjectName="HeuristicLab.Services.Access.DataAccess.Properties.Settings" SettingsPropertyName="HeuristicLab_AuthenticationConnectionString" Provider="System.Data.SqlClient" />
+  <Connection Mode="AppSettings" ConnectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication" SettingsObjectName="HeuristicLab.Services.Access.DataAccess.Properties.Settings" SettingsPropertyName="HeuristicLab_AuthenticationConnectionString" Provider="System.Data.SqlClient" />
   <Table Name="dbo.aspnet_Applications" Member="aspnet_Applications">
     <Type Name="aspnet_Application">
Index: stable/HeuristicLab.Services.Access.DataAccess/3.3/AccessService.dbml
===================================================================
--- stable/HeuristicLab.Services.Access.DataAccess/3.3/AccessService.dbml	(revision 15260)
+++ stable/HeuristicLab.Services.Access.DataAccess/3.3/AccessService.dbml	(revision 15261)
@@ -1,4 +1,4 @@
 ﻿<?xml version="1.0" encoding="utf-8"?><Database Name="HeuristicLab.ClientManagement" Class="AccessServiceDataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
-  <Connection Mode="AppSettings" ConnectionString="Data Source=.;Initial Catalog=HeuristicLab.AccessService;Integrated Security=True" SettingsObjectName="HeuristicLab.Services.Access.DataAccess.Properties.Settings" SettingsPropertyName="HeuristicLab_ClientManagementConnectionString" Provider="System.Data.SqlClient" />
+  <Connection Mode="AppSettings" ConnectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.AccessService" SettingsObjectName="HeuristicLab.Services.Access.DataAccess.Properties.Settings" SettingsPropertyName="HeuristicLab_ClientManagementConnectionString" Provider="System.Data.SqlClient" />
   <Table Name="dbo.Resource" Member="Resources">
     <Type Name="Resource" InheritanceCode="Resource" IsInheritanceDefault="true">
Index: stable/HeuristicLab.Services.Access.DataAccess/3.3/Properties/Settings.Designer.cs
===================================================================
--- stable/HeuristicLab.Services.Access.DataAccess/3.3/Properties/Settings.Designer.cs	(revision 15260)
+++ stable/HeuristicLab.Services.Access.DataAccess/3.3/Properties/Settings.Designer.cs	(revision 15261)
@@ -13,5 +13,5 @@
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
     public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
@@ -27,9 +27,9 @@
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
         [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
-        [global::System.Configuration.DefaultSettingValueAttribute("Data Source=.;Initial Catalog=HeuristicLab.Authentication;Integrated Security=Tru" +
-            "e")]
-        public string HeuristicLab_AuthenticationConnectionString {
+        [global::System.Configuration.DefaultSettingValueAttribute("Data Source=.\\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Ac" +
+            "cessService")]
+        public string HeuristicLab_ClientManagementConnectionString {
             get {
-                return ((string)(this["HeuristicLab_AuthenticationConnectionString"]));
+                return ((string)(this["HeuristicLab_ClientManagementConnectionString"]));
             }
         }
@@ -38,9 +38,9 @@
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
         [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
-        [global::System.Configuration.DefaultSettingValueAttribute("Data Source=.;Initial Catalog=HeuristicLab.AccessService;Integrated Security=True" +
-            "")]
-        public string HeuristicLab_ClientManagementConnectionString {
+        [global::System.Configuration.DefaultSettingValueAttribute("Data Source=.\\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Au" +
+            "thentication")]
+        public string HeuristicLab_AuthenticationConnectionString {
             get {
-                return ((string)(this["HeuristicLab_ClientManagementConnectionString"]));
+                return ((string)(this["HeuristicLab_AuthenticationConnectionString"]));
             }
         }
Index: stable/HeuristicLab.Services.Access.DataAccess/3.3/Properties/Settings.settings
===================================================================
--- stable/HeuristicLab.Services.Access.DataAccess/3.3/Properties/Settings.settings	(revision 15260)
+++ stable/HeuristicLab.Services.Access.DataAccess/3.3/Properties/Settings.settings	(revision 15261)
@@ -3,19 +3,19 @@
   <Profiles />
   <Settings>
+    <Setting Name="HeuristicLab_ClientManagementConnectionString" Type="(Connection string)" Scope="Application">
+      <DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
+&lt;SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
+  &lt;ConnectionString&gt;Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.AccessService&lt;/ConnectionString&gt;
+  &lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
+&lt;/SerializableConnectionString&gt;</DesignTimeValue>
+      <Value Profile="(Default)">Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.AccessService</Value>
+    </Setting>
     <Setting Name="HeuristicLab_AuthenticationConnectionString" Type="(Connection string)" Scope="Application">
       <DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
 &lt;SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
-  &lt;ConnectionString&gt;Data Source=.;Initial Catalog=HeuristicLab.Authentication;Integrated Security=True&lt;/ConnectionString&gt;
+  &lt;ConnectionString&gt;Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication&lt;/ConnectionString&gt;
   &lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
 &lt;/SerializableConnectionString&gt;</DesignTimeValue>
-      <Value Profile="(Default)">Data Source=.;Initial Catalog=HeuristicLab.Authentication;Integrated Security=True</Value>
-    </Setting>
-    <Setting Name="HeuristicLab_ClientManagementConnectionString" Type="(Connection string)" Scope="Application">
-      <DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
-&lt;SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
-  &lt;ConnectionString&gt;Data Source=.;Initial Catalog=HeuristicLab.AccessService;Integrated Security=True&lt;/ConnectionString&gt;
-  &lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
-&lt;/SerializableConnectionString&gt;</DesignTimeValue>
-      <Value Profile="(Default)">Data Source=.;Initial Catalog=HeuristicLab.AccessService;Integrated Security=True</Value>
+      <Value Profile="(Default)">Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication</Value>
     </Setting>
   </Settings>
Index: stable/HeuristicLab.Services.Access.DataAccess/3.3/app.config
===================================================================
--- stable/HeuristicLab.Services.Access.DataAccess/3.3/app.config	(revision 15260)
+++ stable/HeuristicLab.Services.Access.DataAccess/3.3/app.config	(revision 15261)
@@ -1,9 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
-    <configSections>
-    </configSections>
-    <connectionStrings>        
-        <add name="HeuristicLab.Services.Access.DataAccess.Properties.Settings.HeuristicLab_ClientManagementConnectionString" connectionString="Data Source=.;Initial Catalog=HeuristicLab.AccessService;Integrated Security=True" providerName="System.Data.SqlClient"/>
-        <add name="HeuristicLab.Services.Access.DataAccess.Properties.Settings.HeuristicLab_AuthenticationConnectionString" connectionString="Data Source=.;Initial Catalog=HeuristicLab.Authentication;Integrated Security=True" providerName="System.Data.SqlClient"/>
-    </connectionStrings>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
+  <connectionStrings>
+    <add name="HeuristicLab.Services.Access.DataAccess.Properties.Settings.HeuristicLab_ClientManagementConnectionString" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.AccessService" />
+    <add name="HeuristicLab.Services.Access.DataAccess.Properties.Settings.HeuristicLab_AuthenticationConnectionString" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication" />
+  </connectionStrings>
+
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
+  </startup>
+</configuration>
Index: stable/HeuristicLab.Services.Access/3.3/App.config
===================================================================
--- stable/HeuristicLab.Services.Access/3.3/App.config	(revision 15260)
+++ 	(revision )
@@ -1,75 +1,0 @@
-<?xml version="1.0"?>
-<configuration>
-  <connectionStrings>
-    <add name="HeuristicLab.Authentication" connectionString="Data Source=.;Initial Catalog=HeuristicLab.Authentication;Integrated Security=True" providerName="System.Data.SqlClient"/>
-  </connectionStrings>
-  <system.web>
-    <membership defaultProvider="AspNetSqlMembershipProvider" userIsOnlineTimeWindow="20">
-      <providers>
-        <clear/>
-        <add name="AspNetSqlMemberShipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="HeuristicLab.Authentication" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" passwordFormat="Hashed" applicationName="HeuristicLab.Authentication" requiresUniqueEmail="false" minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0" maxInvalidPasswordAttempts="50"/>
-      </providers>
-    </membership>
-    <authentication mode="Windows"/>
-    <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
-      <providers>
-        <clear/>
-        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="HeuristicLab.Authentication" applicationName="HeuristicLab.Authentication"/>
-      </providers>
-    </roleManager>
-  </system.web>
-
-  <!-- When deploying the service library project, the content of the config file must be added to the host's 
-  app.config file. System.Configuration does not support config files for libraries. -->
-  <system.serviceModel>
-    <bindings>
-      <wsHttpBinding>
-        <binding name="DefaultWsHttpBinding" maxBufferPoolSize="10000000" maxReceivedMessageSize="200000000">
-          <readerQuotas maxDepth="1000" maxStringContentLength="16000" maxArrayLength="200000000" maxBytesPerRead="200000000" maxNameTableCharCount="16000"/>
-          <security mode="Message">
-            <message clientCredentialType="UserName"/>
-          </security>
-        </binding>
-      </wsHttpBinding>
-      <mexHttpBinding>
-        <binding name="DefaultMexHttpBinding"/>
-      </mexHttpBinding>
-    </bindings>
-
-    <diagnostics performanceCounters="Default">
-      <!--<messageLogging logMalformedMessages="false" logMessagesAtTransportLevel="false" />-->
-    </diagnostics>
-
-    <behaviors>
-      <endpointBehaviors>
-        <behavior name="DefaultEndpointBehavior">
-          <dataContractSerializer maxItemsInObjectGraph="1000000"/>
-        </behavior>
-      </endpointBehaviors>
-
-      <serviceBehaviors>
-        <behavior name="DefaultServiceBehavior">
-          <serviceMetadata httpGetEnabled="true"/>
-          <serviceDebug includeExceptionDetailInFaults="true"/>
-          <serviceCredentials>
-            <serviceCertificate findValue="localhost" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName"/>
-            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="AspNetSqlMembershipProvider"/>
-          </serviceCredentials>
-          <serviceAuthorization principalPermissionMode="UseAspNetRoles" roleProviderName="AspNetSqlRoleProvider"/>
-        </behavior>
-      </serviceBehaviors>
-    </behaviors>
-
-    <services>
-      <service name="HeuristicLab.Services.Access.AccessService" behaviorConfiguration="DefaultServiceBehavior">
-        <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="DefaultMexHttpBinding" contract="IMetadataExchange"/>
-        <endpoint behaviorConfiguration="DefaultEndpointBehavior" binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding" contract="HeuristicLab.Services.Access.IAccessService"/>
-        <host>
-          <baseAddresses>
-            <add baseAddress="http://localhost:81/AccessService"/>
-          </baseAddresses>
-        </host>
-      </service>
-    </services>
-  </system.serviceModel>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
Index: stable/HeuristicLab.Services.Access/3.3/HeuristicLab.Services.Access-3.3.csproj
===================================================================
--- stable/HeuristicLab.Services.Access/3.3/HeuristicLab.Services.Access-3.3.csproj	(revision 15260)
+++ stable/HeuristicLab.Services.Access/3.3/HeuristicLab.Services.Access-3.3.csproj	(revision 15261)
@@ -135,5 +135,5 @@
   </ItemGroup>
   <ItemGroup>
-    <None Include="App.config" />
+    <None Include="app.config" />
     <None Include="HeuristicLab.snk" />
     <None Include="Properties\AssemblyInfo.cs.frame" />
Index: stable/HeuristicLab.Services.Access/3.3/Web.config
===================================================================
--- stable/HeuristicLab.Services.Access/3.3/Web.config	(revision 15260)
+++ stable/HeuristicLab.Services.Access/3.3/Web.config	(revision 15261)
@@ -1,84 +1,69 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <connectionStrings>
-  <add name="HeuristicLab.Authentication" connectionString="data source=localhost;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication"/>
+    <add name="HeuristicLab.Authentication" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication" />
   </connectionStrings>
+
   <system.web>
-    <membership defaultProvider="AspNetSqlMembershipProvider" userIsOnlineTimeWindow="20">
+    <membership defaultProvider="AspNetSqlMembershipProvider">
       <providers>
         <clear />
-        <add name="AspNetSqlMemberShipProvider"
-              type="System.Web.Security.SqlMembershipProvider"
-              connectionStringName="HeuristicLab.Authentication"
-              enablePasswordRetrieval="false"
-              enablePasswordReset="true"
-              requiresQuestionAndAnswer="false"
-              passwordFormat="Hashed"
-              applicationName="HeuristicLab.Authentication"
-              requiresUniqueEmail="false"
-              minRequiredPasswordLength="1"
-              minRequiredNonalphanumericCharacters="0"
-              maxInvalidPasswordAttempts="50" />
+        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="HeuristicLab.Authentication"
+             requiresQuestionAndAnswer="false" passwordFormat="Hashed" applicationName="HeuristicLab.Authentication" minRequiredPasswordLength="8"
+             minRequiredNonalphanumericCharacters="0" maxInvalidPasswordAttempts="5" />
       </providers>
     </membership>
-    <authentication mode="Windows" />
     <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
       <providers>
         <clear />
-        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
-             connectionStringName="HeuristicLab.Authentication" applicationName="HeuristicLab.Authentication" />
+        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="HeuristicLab.Authentication" applicationName="HeuristicLab.Authentication" />
       </providers>
     </roleManager>
   </system.web>
 
-  <!-- When deploying the service library project, the content of the config file must be added to the host's 
-  app.config file. System.Configuration does not support config files for libraries. -->
   <system.serviceModel>
+    <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
+    <services>
+      <service behaviorConfiguration="DefaultServiceBehavior" name="HeuristicLab.Services.Access.AccessService">
+        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding"
+          contract="HeuristicLab.Services.Access.IAccessService" />
+        <host>
+          <baseAddresses>
+            <add baseAddress="http://localhost:8000/AccessService-3.3/AccessService.svc" />
+          </baseAddresses>
+        </host>
+      </service>
+    </services>
+    <behaviors>
+      <serviceBehaviors>
+        <behavior name="DefaultServiceBehavior">
+          <serviceMetadata httpGetEnabled="true" />
+          <serviceDebug includeExceptionDetailInFaults="true" />
+          <serviceCredentials>
+            <serviceCertificate findValue="localhost" x509FindType="FindBySubjectName" />
+            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider"
+              membershipProviderName="AspNetSqlMembershipProvider" />
+          </serviceCredentials>
+          <serviceAuthorization principalPermissionMode="UseAspNetRoles"
+            roleProviderName="AspNetSqlRoleProvider" />
+        </behavior>
+      </serviceBehaviors>
+    </behaviors>
     <bindings>
       <wsHttpBinding>
-        <binding name="DefaultWsHttpBinding" maxBufferPoolSize="10000000" maxReceivedMessageSize="200000000">
-          <readerQuotas maxDepth="1000" maxStringContentLength="16000" maxArrayLength="200000000" maxBytesPerRead="200000000" maxNameTableCharCount="16000" />
-          <security mode="Message">
+        <binding name="DefaultWsHttpBinding" maxBufferPoolSize="2147483647"
+          maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security>
             <message clientCredentialType="UserName" />
           </security>
         </binding>
       </wsHttpBinding>
-      <mexHttpBinding>
-        <binding name="DefaultMexHttpBinding" />
-      </mexHttpBinding>
     </bindings>
+  </system.serviceModel>
 
-    <diagnostics performanceCounters="Default">
-      <!--<messageLogging logMalformedMessages="false" logMessagesAtTransportLevel="false" />-->
-    </diagnostics>
-
-    <behaviors>
-      <endpointBehaviors>
-        <behavior name="DefaultEndpointBehavior">
-          <dataContractSerializer maxItemsInObjectGraph="1000000" />
-        </behavior>
-      </endpointBehaviors>
-
-      <serviceBehaviors>
-        <behavior name="DefaultServiceBehavior">
-          <serviceMetadata httpGetEnabled="true" />
-          <serviceDebug includeExceptionDetailInFaults="true" />
-          <serviceCredentials>           
-            <serviceCertificate findValue="services.heuristiclab.com" x509FindType="FindBySubjectName" />
-            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="AspNetSqlMembershipProvider" />          
-          </serviceCredentials>
-          <serviceAuthorization principalPermissionMode="UseAspNetRoles"
-                                roleProviderName="AspNetSqlRoleProvider" />
-        </behavior>
-      </serviceBehaviors>
-    </behaviors>
-
-    <services>
-      <service name="HeuristicLab.Services.Access.AccessService" behaviorConfiguration="DefaultServiceBehavior">
-        <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="DefaultMexHttpBinding" contract="IMetadataExchange" />
-        <endpoint behaviorConfiguration="DefaultEndpointBehavior" binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding"
-                  contract="HeuristicLab.Services.Access.IAccessService" />        
-      </service>
-    </services>
-  </system.serviceModel>
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
+  </startup>
 </configuration>
Index: stable/HeuristicLab.Services.Access/3.3/app.config
===================================================================
--- stable/HeuristicLab.Services.Access/3.3/app.config	(revision 15261)
+++ stable/HeuristicLab.Services.Access/3.3/app.config	(revision 15261)
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <connectionStrings>
+    <add name="HeuristicLab.Authentication" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication" />
+  </connectionStrings>
+
+  <system.web>
+    <membership defaultProvider="AspNetSqlMembershipProvider">
+      <providers>
+        <clear />
+        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="HeuristicLab.Authentication"
+             requiresQuestionAndAnswer="false" passwordFormat="Hashed" applicationName="HeuristicLab.Authentication" minRequiredPasswordLength="8"
+             minRequiredNonalphanumericCharacters="0" maxInvalidPasswordAttempts="5" />
+      </providers>
+    </membership>
+    <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
+      <providers>
+        <clear />
+        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="HeuristicLab.Authentication" applicationName="HeuristicLab.Authentication" />
+      </providers>
+    </roleManager>
+  </system.web>
+
+  <system.serviceModel>
+    <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
+    <services>
+      <service behaviorConfiguration="DefaultServiceBehavior" name="HeuristicLab.Services.Access.AccessService">
+        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding"
+          contract="HeuristicLab.Services.Access.IAccessService" />
+        <host>
+          <baseAddresses>
+            <add baseAddress="http://localhost:8000/AccessService-3.3/AccessService.svc" />
+          </baseAddresses>
+        </host>
+      </service>
+    </services>
+    <behaviors>
+      <serviceBehaviors>
+        <behavior name="DefaultServiceBehavior">
+          <serviceMetadata httpGetEnabled="true" />
+          <serviceDebug includeExceptionDetailInFaults="true" />
+          <serviceCredentials>
+            <serviceCertificate findValue="localhost" x509FindType="FindBySubjectName" />
+            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider"
+              membershipProviderName="AspNetSqlMembershipProvider" />
+          </serviceCredentials>
+          <serviceAuthorization principalPermissionMode="UseAspNetRoles"
+            roleProviderName="AspNetSqlRoleProvider" />
+        </behavior>
+      </serviceBehaviors>
+    </behaviors>
+    <bindings>
+      <wsHttpBinding>
+        <binding name="DefaultWsHttpBinding" maxBufferPoolSize="2147483647"
+          maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security>
+            <message clientCredentialType="UserName" />
+          </security>
+        </binding>
+      </wsHttpBinding>
+    </bindings>
+  </system.serviceModel>
+
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
+  </startup>
+</configuration>
Index: stable/HeuristicLab.Services.Deployment.DataAccess/3.3/Deployment.dbml
===================================================================
--- stable/HeuristicLab.Services.Deployment.DataAccess/3.3/Deployment.dbml	(revision 15260)
+++ stable/HeuristicLab.Services.Deployment.DataAccess/3.3/Deployment.dbml	(revision 15261)
@@ -1,4 +1,4 @@
 ﻿<?xml version="1.0" encoding="utf-8"?><Database Name="HeuristicLab.PluginStore" Class="DeploymentDataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
-  <Connection Mode="AppSettings" ConnectionString="Data Source=.\SQLEXPRESS;Initial Catalog=HeuristicLab.Deployment;Integrated Security=SSPI" SettingsObjectName="HeuristicLab.Services.Deployment.DataAccess.Properties.Settings" SettingsPropertyName="HeuristicLab_DeploymentConnectionString" Provider="System.Data.SqlClient" />
+  <Connection Mode="AppSettings" ConnectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Deployment" SettingsObjectName="HeuristicLab.Services.Deployment.DataAccess.Properties.Settings" SettingsPropertyName="HeuristicLab_DeploymentConnectionString" Provider="System.Data.SqlClient" />
   <Table Name="dbo.Dependencies" Member="Dependencies">
     <Type Name="Dependency">
Index: stable/HeuristicLab.Services.Deployment.DataAccess/3.3/Properties/Settings.Designer.cs
===================================================================
--- stable/HeuristicLab.Services.Deployment.DataAccess/3.3/Properties/Settings.Designer.cs	(revision 15260)
+++ stable/HeuristicLab.Services.Deployment.DataAccess/3.3/Properties/Settings.Designer.cs	(revision 15261)
@@ -2,5 +2,5 @@
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:4.0.30319.34014
+//     Runtime Version:4.0.30319.42000
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
@@ -13,5 +13,5 @@
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
     internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
@@ -27,6 +27,6 @@
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
         [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
-        [global::System.Configuration.DefaultSettingValueAttribute("Data Source=.\\SQLEXPRESS;Initial Catalog=HeuristicLab.Deployment;Integrated Secur" +
-            "ity=SSPI")]
+        [global::System.Configuration.DefaultSettingValueAttribute("Data Source=.\\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.De" +
+            "ployment")]
         public string HeuristicLab_DeploymentConnectionString {
             get {
Index: stable/HeuristicLab.Services.Deployment.DataAccess/3.3/Properties/Settings.settings
===================================================================
--- stable/HeuristicLab.Services.Deployment.DataAccess/3.3/Properties/Settings.settings	(revision 15260)
+++ stable/HeuristicLab.Services.Deployment.DataAccess/3.3/Properties/Settings.settings	(revision 15261)
@@ -6,8 +6,8 @@
       <DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
 &lt;SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
-  &lt;ConnectionString&gt;Data Source=.\SQLEXPRESS;Initial Catalog=HeuristicLab.Deployment;Integrated Security=SSPI&lt;/ConnectionString&gt;
+  &lt;ConnectionString&gt;Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Deployment&lt;/ConnectionString&gt;
   &lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
 &lt;/SerializableConnectionString&gt;</DesignTimeValue>
-      <Value Profile="(Default)">Data Source=.\SQLEXPRESS;Initial Catalog=HeuristicLab.Deployment;Integrated Security=SSPI</Value>
+      <Value Profile="(Default)">Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Deployment</Value>
     </Setting>
   </Settings>
Index: stable/HeuristicLab.Services.Deployment.DataAccess/3.3/app.config
===================================================================
--- stable/HeuristicLab.Services.Deployment.DataAccess/3.3/app.config	(revision 15260)
+++ stable/HeuristicLab.Services.Deployment.DataAccess/3.3/app.config	(revision 15261)
@@ -1,8 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
-  <configSections>
-  </configSections>
   <connectionStrings>
-    <add name="HeuristicLab.Services.Deployment.DataAccess.Properties.Settings.HeuristicLab_DeploymentConnectionString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=HeuristicLab.Deployment;Integrated Security=SSPI" providerName="System.Data.SqlClient"/>
+    <add name="HeuristicLab.Services.Deployment.DataAccess.Properties.Settings.HeuristicLab_DeploymentConnectionString" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Deployment" />
   </connectionStrings>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
+
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
+  </startup>
+</configuration>
Index: stable/HeuristicLab.Services.Deployment/3.3/App.config
===================================================================
--- stable/HeuristicLab.Services.Deployment/3.3/App.config	(revision 15260)
+++ 	(revision )
@@ -1,136 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<configuration>
-  <system.diagnostics>
-    <!-- for logging. Make sure the IIS application user has write access rights for the output directory -->
-    <!--sources>
-      <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
-        <listeners>
-          <add type="System.Diagnostics.DefaultTraceListener" name="Default">
-            <filter type="" />
-          </add>
-          <add name="ServiceModelMessageLoggingListener">
-            <filter type="" />
-          </add>
-        </listeners>
-      </source>
-      <source name="System.ServiceModel" switchValue="Warning, ActivityTracing"
-        propagateActivity="true">
-        <listeners>
-          <add type="System.Diagnostics.DefaultTraceListener" name="Default">
-            <filter type="" />
-          </add>
-          <add name="ServiceModelTraceListener">
-            <filter type="" />
-          </add>
-        </listeners>
-      </source>
-    </sources>
-    <sharedListeners>
-      <add initializeData="C:\inetpub\wwwroot\services.heuristiclab.com\Deployment-3.3\web_messages.svclog"
-        type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
-        name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp">
-        <filter type="" />
-      </add>
-      <add initializeData="C:\inetpub\wwwroot\services.heuristiclab.com\Deployment-3.3\web_tracelog.svclog"
-        type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
-        name="ServiceModelTraceListener" traceOutputOptions="Timestamp">
-        <filter type="" />
-      </add>
-    </sharedListeners-->
-  </system.diagnostics>
-
-  <connectionStrings>
-    <add name="HeuristicLab.Authentication" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication"/>
-    <add name="HeuristicLab.Services.Deployment.DataAccess.Properties.Settings.HeuristicLab_DeploymentConnectionString" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Deployment"/>
-  </connectionStrings>
-
-  <system.webServer>
-    <security>
-      <requestFiltering>
-        <requestLimits maxAllowedContentLength="100000000"/>
-      </requestFiltering>
-    </security>
-  </system.webServer>
-
-  <system.web>
-    <compilation debug="true"/>
-    <httpRuntime maxRequestLength="2097151"/>
-    <membership defaultProvider="AspNetSqlMembershipProvider">
-      <providers>
-        <clear/>
-        <add name="AspNetSqlMemberShipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="HeuristicLab.Authentication" applicationName="HeuristicLab.Authentication" enablePasswordReset="false" enablePasswordRetrieval="false" passwordFormat="Hashed" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" minRequiredNonalphanumericCharacters="0" minRequiredPasswordLength="8"/>
-      </providers>
-    </membership>
-    <authentication mode="Windows"/>
-    <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
-      <providers>
-        <clear/>
-        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="HeuristicLab.Authentication" applicationName="HeuristicLab.Authentication"/>
-      </providers>
-    </roleManager>
-  </system.web>
-
-  <!-- When deploying the service library project, the content of the config file must be added to the host's 
-  app.config file. System.Configuration does not support config files for libraries. -->
-  <system.serviceModel>
-    <bindings>
-      <wsHttpBinding>
-        <binding name="DefaultWsHttpBinding" maxBufferPoolSize="10000000" maxReceivedMessageSize="200000000">
-          <readerQuotas maxDepth="1000" maxStringContentLength="200000000" maxArrayLength="200000000" maxBytesPerRead="200000000" maxNameTableCharCount="16000"/>
-          <security mode="Message">
-            <message clientCredentialType="UserName"/>
-          </security>
-        </binding>
-      </wsHttpBinding>
-      <mexHttpBinding>
-        <binding name="DefaultMexHttpBinding"/>
-      </mexHttpBinding>
-    </bindings>
-
-    <diagnostics performanceCounters="Default">
-      <!--<messageLogging logMalformedMessages="false" logMessagesAtTransportLevel="false" />-->
-    </diagnostics>
-
-    <behaviors>
-      <endpointBehaviors>
-        <behavior name="DefaultEndpointBehavior">
-          <dataContractSerializer maxItemsInObjectGraph="1000000"/>
-        </behavior>
-      </endpointBehaviors>
-
-      <serviceBehaviors>
-        <behavior name="DefaultServiceBehavior">
-          <serviceMetadata httpGetEnabled="true"/>
-          <serviceDebug includeExceptionDetailInFaults="true"/>
-          <serviceCredentials>
-            <serviceCertificate findValue="localhost" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName"/>
-            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="AspNetSqlMembershipProvider"/>
-          </serviceCredentials>
-          <serviceAuthorization principalPermissionMode="UseAspNetRoles" roleProviderName="AspNetSqlRoleProvider"/>
-        </behavior>
-      </serviceBehaviors>
-    </behaviors>
-
-    <services>
-      <service name="HeuristicLab.Services.Deployment.UpdateService" behaviorConfiguration="DefaultServiceBehavior">
-        <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="DefaultMexHttpBinding" contract="IMetadataExchange"/>
-        <endpoint behaviorConfiguration="DefaultEndpointBehavior" binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding" contract="HeuristicLab.Services.Deployment.IUpdateService"/>
-        <host>
-          <baseAddresses>
-            <add baseAddress="http://localhost:8732/Design_Time_Addresses/Deployment-3.3/UpdateService"/>
-          </baseAddresses>
-        </host>
-      </service>
-
-      <service name="HeuristicLab.Services.Deployment.AdminService" behaviorConfiguration="DefaultServiceBehavior">
-        <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="DefaultMexHttpBinding" contract="IMetadataExchange"/>
-        <endpoint behaviorConfiguration="DefaultEndpointBehavior" binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding" contract="HeuristicLab.Services.Deployment.IAdminService"/>
-        <host>
-          <baseAddresses>
-            <add baseAddress="http://localhost:8732/Design_Time_Addresses/Deployment-3.3/AdminService"/>
-          </baseAddresses>
-        </host>
-      </service>
-    </services>
-  </system.serviceModel>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
Index: stable/HeuristicLab.Services.Deployment/3.3/HeuristicLab.Services.Deployment-3.3.csproj
===================================================================
--- stable/HeuristicLab.Services.Deployment/3.3/HeuristicLab.Services.Deployment-3.3.csproj	(revision 15260)
+++ stable/HeuristicLab.Services.Deployment/3.3/HeuristicLab.Services.Deployment-3.3.csproj	(revision 15261)
@@ -121,5 +121,5 @@
   </ItemGroup>
   <ItemGroup>
-    <None Include="App.config" />
+    <None Include="app.config" />
   </ItemGroup>
   <ItemGroup>
@@ -130,4 +130,5 @@
   </ItemGroup>
   <ItemGroup>
+    <None Include="Web.config" />
     <None Include="HeuristicLab.snk" />
     <None Include="Properties\AssemblyInfo.cs.frame" />
Index: stable/HeuristicLab.Services.Deployment/3.3/Web.config
===================================================================
--- stable/HeuristicLab.Services.Deployment/3.3/Web.config	(revision 15261)
+++ stable/HeuristicLab.Services.Deployment/3.3/Web.config	(revision 15261)
@@ -0,0 +1,88 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <connectionStrings>
+    <add name="HeuristicLab.Authentication" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication" />
+    <add name="HeuristicLab.Services.Deployment.DataAccess.Properties.Settings.HeuristicLab_DeploymentConnectionString" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Deployment"/>
+  </connectionStrings>
+
+  <system.webServer>
+    <security>
+      <requestFiltering>
+        <requestLimits maxAllowedContentLength="100000000"/>
+      </requestFiltering>
+    </security>
+  </system.webServer>
+
+  <system.web>
+    <compilation debug="true" />
+    <httpRuntime maxRequestLength="2097151"/>
+    <membership defaultProvider="AspNetSqlMembershipProvider">
+      <providers>
+        <clear />
+        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="HeuristicLab.Authentication"
+             requiresQuestionAndAnswer="false" passwordFormat="Hashed" applicationName="HeuristicLab.Authentication" minRequiredPasswordLength="8"
+             minRequiredNonalphanumericCharacters="0" maxInvalidPasswordAttempts="5" />
+      </providers>
+    </membership>
+    <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
+      <providers>
+        <clear />
+        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="HeuristicLab.Authentication" applicationName="HeuristicLab.Authentication" />
+      </providers>
+    </roleManager>
+  </system.web>
+
+  <system.serviceModel>
+    <services>
+      <service behaviorConfiguration="DefaultServiceBehavior" name="HeuristicLab.Services.Deployment.AdminService">
+        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding"
+          contract="HeuristicLab.Services.Deployment.IAdminService"/>
+        <host>
+          <baseAddresses>
+            <add baseAddress="http://localhost:8000/Deployment-3.3/AdminService.svc"/>
+          </baseAddresses>
+        </host>
+      </service>
+      <service behaviorConfiguration="DefaultServiceBehavior" name="HeuristicLab.Services.Deployment.UpdateService">
+        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding"
+          contract="HeuristicLab.Services.Deployment.IUpdateService"/>
+        <host>
+          <baseAddresses>
+            <add baseAddress="http://localhost:8000/Deployment-3.3/UpdateService.svc"/>
+          </baseAddresses>
+        </host>
+      </service>
+    </services>
+    <behaviors>
+      <serviceBehaviors>
+        <behavior name="DefaultServiceBehavior">
+          <serviceMetadata httpGetEnabled="true" />
+          <serviceDebug includeExceptionDetailInFaults="true" />
+          <serviceCredentials>
+            <serviceCertificate findValue="localhost" x509FindType="FindBySubjectName" />
+            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider"
+              membershipProviderName="AspNetSqlMembershipProvider" />
+          </serviceCredentials>
+          <serviceAuthorization principalPermissionMode="UseAspNetRoles"
+            roleProviderName="AspNetSqlRoleProvider" />
+        </behavior>
+      </serviceBehaviors>
+    </behaviors>
+    <bindings>
+      <wsHttpBinding>
+        <binding name="DefaultWsHttpBinding" maxBufferPoolSize="2147483647"
+          maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security>
+            <message clientCredentialType="UserName" />
+          </security>
+        </binding>
+      </wsHttpBinding>
+    </bindings>
+  </system.serviceModel>
+
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
+  </startup>
+</configuration>
Index: stable/HeuristicLab.Services.Deployment/3.3/app.config
===================================================================
--- stable/HeuristicLab.Services.Deployment/3.3/app.config	(revision 15261)
+++ stable/HeuristicLab.Services.Deployment/3.3/app.config	(revision 15261)
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <connectionStrings>
+    <add name="HeuristicLab.Authentication" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication" />
+    <add name="HeuristicLab.Services.Deployment.DataAccess.Properties.Settings.HeuristicLab_DeploymentConnectionString" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Deployment"/>
+  </connectionStrings>
+
+  <system.webServer>
+    <security>
+      <requestFiltering>
+        <requestLimits maxAllowedContentLength="100000000"/>
+      </requestFiltering>
+    </security>
+  </system.webServer>
+
+  <system.web>
+    <compilation debug="true" />
+    <httpRuntime maxRequestLength="2097151"/>
+    <membership defaultProvider="AspNetSqlMembershipProvider">
+      <providers>
+        <clear />
+        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="HeuristicLab.Authentication"
+             requiresQuestionAndAnswer="false" passwordFormat="Hashed" applicationName="HeuristicLab.Authentication" minRequiredPasswordLength="8"
+             minRequiredNonalphanumericCharacters="0" maxInvalidPasswordAttempts="5" />
+      </providers>
+    </membership>
+    <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
+      <providers>
+        <clear />
+        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="HeuristicLab.Authentication" applicationName="HeuristicLab.Authentication" />
+      </providers>
+    </roleManager>
+  </system.web>
+
+  <system.serviceModel>
+    <services>
+      <service behaviorConfiguration="DefaultServiceBehavior" name="HeuristicLab.Services.Deployment.AdminService">
+        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding"
+          contract="HeuristicLab.Services.Deployment.IAdminService"/>
+        <host>
+          <baseAddresses>
+            <add baseAddress="http://localhost:8000/Deployment-3.3/AdminService.svc"/>
+          </baseAddresses>
+        </host>
+      </service>
+      <service behaviorConfiguration="DefaultServiceBehavior" name="HeuristicLab.Services.Deployment.UpdateService">
+        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding"
+          contract="HeuristicLab.Services.Deployment.IUpdateService"/>
+        <host>
+          <baseAddresses>
+            <add baseAddress="http://localhost:8000/Deployment-3.3/UpdateService.svc"/>
+          </baseAddresses>
+        </host>
+      </service>
+    </services>
+    <behaviors>
+      <serviceBehaviors>
+        <behavior name="DefaultServiceBehavior">
+          <serviceMetadata httpGetEnabled="true" />
+          <serviceDebug includeExceptionDetailInFaults="true" />
+          <serviceCredentials>
+            <serviceCertificate findValue="localhost" x509FindType="FindBySubjectName" />
+            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider"
+              membershipProviderName="AspNetSqlMembershipProvider" />
+          </serviceCredentials>
+          <serviceAuthorization principalPermissionMode="UseAspNetRoles"
+            roleProviderName="AspNetSqlRoleProvider" />
+        </behavior>
+      </serviceBehaviors>
+    </behaviors>
+    <bindings>
+      <wsHttpBinding>
+        <binding name="DefaultWsHttpBinding" maxBufferPoolSize="2147483647"
+          maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security>
+            <message clientCredentialType="UserName" />
+          </security>
+        </binding>
+      </wsHttpBinding>
+    </bindings>
+  </system.serviceModel>
+
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
+  </startup>
+</configuration>
Index: stable/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml
===================================================================
--- stable/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml	(revision 15260)
+++ stable/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml	(revision 15261)
@@ -1,4 +1,4 @@
 ﻿<?xml version="1.0" encoding="utf-8"?><Database Name="HeuristicLab.Hive" Class="HiveDataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
-  <Connection Mode="AppSettings" ConnectionString="Data Source=localhost;Initial Catalog=HeuristicLab.Hive-3.3;Integrated Security=True" SettingsObjectName="HeuristicLab.Services.Hive.DataAccess.Settings" SettingsPropertyName="HeuristicLab_Hive_LinqConnectionString" Provider="System.Data.SqlClient" />
+  <Connection Mode="AppSettings" ConnectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Hive-3.3" SettingsObjectName="HeuristicLab.Services.Hive.DataAccess.Settings" SettingsPropertyName="HeuristicLab_Hive_LinqConnectionString" Provider="System.Data.SqlClient" />
   <Table Name="dbo.AssignedResources" Member="AssignedResources">
     <Type Name="AssignedResource">
Index: stable/HeuristicLab.Services.Hive.DataAccess/3.3/Settings.Designer.cs
===================================================================
--- stable/HeuristicLab.Services.Hive.DataAccess/3.3/Settings.Designer.cs	(revision 15260)
+++ stable/HeuristicLab.Services.Hive.DataAccess/3.3/Settings.Designer.cs	(revision 15261)
@@ -2,5 +2,5 @@
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:4.0.30319.34014
+//     Runtime Version:4.0.30319.42000
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
@@ -13,5 +13,5 @@
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
     public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
@@ -27,6 +27,6 @@
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
         [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
-        [global::System.Configuration.DefaultSettingValueAttribute("Data Source=localhost;Initial Catalog=HeuristicLab.Hive-3.3;Integrated Security=T" +
-            "rue;")]
+        [global::System.Configuration.DefaultSettingValueAttribute("Data Source=.\\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Hi" +
+            "ve-3.3")]
         public string HeuristicLab_Hive_LinqConnectionString {
             get {
Index: stable/HeuristicLab.Services.Hive.DataAccess/3.3/Settings.settings
===================================================================
--- stable/HeuristicLab.Services.Hive.DataAccess/3.3/Settings.settings	(revision 15260)
+++ stable/HeuristicLab.Services.Hive.DataAccess/3.3/Settings.settings	(revision 15261)
@@ -6,8 +6,8 @@
       <DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
 &lt;SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
-  &lt;ConnectionString&gt;Data Source=localhost;Initial Catalog=HeuristicLab.Hive-3.3;Integrated Security=True;&lt;/ConnectionString&gt;
+  &lt;ConnectionString&gt;Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Hive-3.3&lt;/ConnectionString&gt;
   &lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
 &lt;/SerializableConnectionString&gt;</DesignTimeValue>
-      <Value Profile="(Default)">Data Source=localhost;Initial Catalog=HeuristicLab.Hive-3.3;Integrated Security=True;</Value>
+      <Value Profile="(Default)">Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Hive-3.3</Value>
     </Setting>
     <Setting Name="LongRunningDatabaseCommandTimeout" Type="System.TimeSpan" Scope="Application">
Index: stable/HeuristicLab.Services.Hive.DataAccess/3.3/app.config
===================================================================
--- stable/HeuristicLab.Services.Hive.DataAccess/3.3/app.config	(revision 15260)
+++ stable/HeuristicLab.Services.Hive.DataAccess/3.3/app.config	(revision 15261)
@@ -1,13 +1,9 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
-  <configSections>
-    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-      <section name="HeuristicLab.Services.Hive.DataAccess.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
-    </sectionGroup>
-  </configSections>
   <connectionStrings>
-    <add name="HeuristicLab.Services.Hive.DataAccess.Settings.HeuristicLab_Hive_LinqConnectionString" connectionString="Data Source=localhost;Initial Catalog=HeuristicLab.Hive-3.3;Integrated Security=True;" providerName="System.Data.SqlClient"/>
+    <add name="HeuristicLab.Services.Hive.DataAccess.Settings.HeuristicLab_Hive_LinqConnectionString" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Hive-3.4" />
   </connectionStrings>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup><applicationSettings>
+
+  <applicationSettings>
     <HeuristicLab.Services.Hive.DataAccess.Settings>
       <setting name="LongRunningDatabaseCommandTimeout" serializeAs="String">
@@ -19,3 +15,7 @@
     </HeuristicLab.Services.Hive.DataAccess.Settings>
   </applicationSettings>
+
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
+  </startup>
 </configuration>
Index: stable/HeuristicLab.Services.Hive.JanitorService/3.3/app.config
===================================================================
--- stable/HeuristicLab.Services.Hive.JanitorService/3.3/app.config	(revision 15260)
+++ stable/HeuristicLab.Services.Hive.JanitorService/3.3/app.config	(revision 15261)
@@ -1,3 +1,6 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
+  </startup>
+</configuration>
Index: stable/HeuristicLab.Services.Hive.Web/Hive-3.3/Web.config
===================================================================
--- stable/HeuristicLab.Services.Hive.Web/Hive-3.3/Web.config	(revision 15260)
+++ stable/HeuristicLab.Services.Hive.Web/Hive-3.3/Web.config	(revision 15261)
@@ -1,3 +1,3 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <configSections>
@@ -6,7 +6,9 @@
     </sectionGroup>
   </configSections>
+  
   <appSettings>
     <add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;"/>
   </appSettings>
+  
   <applicationSettings>
     <HeuristicLab.Services.Hive.DataAccess.Settings>
@@ -19,32 +21,29 @@
     </HeuristicLab.Services.Hive.DataAccess.Settings>
   </applicationSettings>
+  
   <connectionStrings>
-    <add name="HeuristicLab.Authentication" connectionString="data source=localhost;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication"/>
-    <add name="HeuristicLab.Services.Hive.DataAccess.Settings.HeuristicLab_Hive_LinqConnectionString" connectionString="Data Source=localhost;Initial Catalog=HeuristicLab.Hive-3.3;Integrated Security=True;" providerName="System.Data.SqlClient"/>
+    <add name="HeuristicLab.Authentication" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication" />
+    <add name="HeuristicLab.Services.Hive.DataAccess.Settings.HeuristicLab_Hive_LinqConnectionString" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Hive-3.3" />
   </connectionStrings>
-  <!--
-    For a description of web.config changes see http://go.microsoft.com/fwlink/?LinkId=235367.
 
-    The following attributes can be set on the <httpRuntime> tag.
-      <system.Web>
-        <httpRuntime targetFramework="4.5" />
-      </system.Web>
-  -->
   <system.web>
-    <authentication mode="Forms"/>
+    <authentication mode="Forms" />
     <compilation debug="true" targetFramework="4.5">
       <assemblies>
-        <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+        <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
       </assemblies>
     </compilation>
-    <membership>
+    <httpRuntime maxRequestLength="2097151"/>
+    <membership defaultProvider="AspNetSqlMembershipProvider">
       <providers>
-        <clear/>
-        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="HeuristicLab.Authentication" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="HeuristicLab.Authentication"/>
+        <clear />
+        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="HeuristicLab.Authentication"
+             requiresQuestionAndAnswer="false" requiresUniqueEmail="false" applicationName="HeuristicLab.Authentication" minRequiredPasswordLength="8"
+             minRequiredNonalphanumericCharacters="0" maxInvalidPasswordAttempts="5" />
       </providers>
     </membership>
-    <roleManager enabled="true">
+    <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
       <providers>
-        <clear/>
+        <clear />
         <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="HeuristicLab.Authentication" applicationName="HeuristicLab.Authentication"/>
       </providers>
@@ -55,58 +54,68 @@
       </controls>
     </pages>
-    <httpRuntime maxRequestLength="1048576"/>
   </system.web>
+  
   <system.serviceModel>
+    <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
+    <services>
+      <service behaviorConfiguration="DefaultServiceBehavior" name="HeuristicLab.Services.Hive.HiveService">
+        <endpoint binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IHiveService"
+          name="WSHttpBinding_IHiveService" contract="HeuristicLab.Services.Hive.ServiceContracts.IHiveService" />
+        <endpoint address="net.tcp://localhost:8001/Hive-3.3/HiveService.svc"
+          binding="netTcpBinding" bindingConfiguration="NetBinding_IHiveService"
+          name="NetBinding_IHiveService" contract="HeuristicLab.Services.Hive.ServiceContracts.IHiveService" />
+        <host>
+          <baseAddresses>
+            <add baseAddress="http://localhost:8000/Hive-3.3/HiveService.svc" />
+          </baseAddresses>
+        </host>
+      </service>
+    </services>
+    <bindings>
+      <netTcpBinding>
+        <binding name="NetBinding_IHiveService" receiveTimeout="00:20:00"
+          sendTimeout="00:20:00" maxBufferPoolSize="2147483647" maxBufferSize="2147483647"
+          maxReceivedMessageSize="2147483647" portSharingEnabled="true">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security mode="TransportWithMessageCredential">
+            <message clientCredentialType="UserName" />
+          </security>
+        </binding>
+      </netTcpBinding>
+      <wsHttpBinding>
+        <binding name="WSHttpBinding_IHiveService" receiveTimeout="00:20:00"
+          sendTimeout="00:20:00" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security>
+            <message clientCredentialType="UserName" />
+          </security>
+        </binding>
+      </wsHttpBinding>
+    </bindings>
+    <behaviors>
+      <serviceBehaviors>
+        <behavior name="DefaultServiceBehavior">
+          <serviceMetadata httpGetEnabled="true" />
+          <serviceDebug includeExceptionDetailInFaults="true" />
+          <serviceCredentials>
+            <serviceCertificate findValue="localhost" x509FindType="FindBySubjectName" />
+            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider"
+              membershipProviderName="AspNetSqlMembershipProvider" />
+          </serviceCredentials>
+          <serviceAuthorization principalPermissionMode="UseAspNetRoles"
+            roleProviderName="AspNetSqlRoleProvider" />
+          <serviceSecurityAudit auditLogLocation="Application" suppressAuditFailure="false"
+            messageAuthenticationAuditLevel="SuccessOrFailure" />
+          <serviceThrottling maxConcurrentCalls="100" />
+        </behavior>
+      </serviceBehaviors>
+    </behaviors>
     <diagnostics performanceCounters="All">
       <messageLogging logEntireMessage="true" logMalformedMessages="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" maxMessagesToLog="3000"/>
     </diagnostics>
-    <bindings>
-      <wsHttpBinding>
-        <binding name="WSHttpBinding_IHiveService" messageEncoding="Text" receiveTimeout="00:35:00" sendTimeout="00:35:00" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
-          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
-          <security mode="Message">
-            <transport clientCredentialType="Certificate"/>
-            <message clientCredentialType="UserName"/>
-          </security>
-        </binding>
-      </wsHttpBinding>
-      <netTcpBinding>
-        <binding name="NetTcpBinding_IHiveService" portSharingEnabled="true" receiveTimeout="00:35:00" sendTimeout="00:35:00" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
-          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
-          <security mode="TransportWithMessageCredential">
-            <transport clientCredentialType="Certificate"/>
-            <message clientCredentialType="UserName"/>
-          </security>
-        </binding>
-      </netTcpBinding>
-    </bindings>
-    <behaviors>
-      <serviceBehaviors>
-        <behavior name="ServiceBehaviour_IHiveService">
-          <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
-          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false"/>
-          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
-          <serviceDebug httpHelpPageEnabled="true" includeExceptionDetailInFaults="true"/>
-          <serviceAuthorization principalPermissionMode="UseAspNetRoles" roleProviderName="AspNetSqlRoleProvider"/>
-          <serviceCredentials>
-            <serviceCertificate findValue="localhost" x509FindType="FindBySubjectName"/>
-            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="AspNetSqlMembershipProvider"/>
-          </serviceCredentials>
-          <serviceSecurityAudit auditLogLocation="Application" suppressAuditFailure="false" messageAuthenticationAuditLevel="SuccessOrFailure"/>
-          <serviceThrottling maxConcurrentCalls="100"/>
-          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
-        </behavior>
-      </serviceBehaviors>
-    </behaviors>
-    <services>
-      <service behaviorConfiguration="ServiceBehaviour_IHiveService" name="HeuristicLab.Services.Hive.HiveService">
-        <endpoint address="mexhttp" binding="mexHttpBinding" bindingConfiguration="" name="MexHttpEndpoint" contract="IMetadataExchange"/>
-        <endpoint address="mex" binding="mexTcpBinding" bindingConfiguration="" name="MexTcpEndpoint" contract="IMetadataExchange"/>
-        <endpoint address="" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IHiveService" name="WSHttpBinding_IHiveService" contract="HeuristicLab.Services.Hive.ServiceContracts.IHiveService"/>
-        <endpoint address="net.tcp://services.heuristiclab.com/Hive-3.3/HiveService.svc" binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IHiveService" name="NetBinding_IHiveService" contract="HeuristicLab.Services.Hive.ServiceContracts.IHiveService"/>
-      </service>
-    </services>
-    <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
   </system.serviceModel>
+
   <system.webServer>
     <directoryBrowse enabled="true"/>
Index: stable/HeuristicLab.Services.Hive/3.3/app.config
===================================================================
--- stable/HeuristicLab.Services.Hive/3.3/app.config	(revision 15260)
+++ stable/HeuristicLab.Services.Hive/3.3/app.config	(revision 15261)
@@ -1,40 +1,44 @@
 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
-    <configSections>
-        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-            <section name="HeuristicLab.Services.Hive.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
-        </sectionGroup>
-    </configSections>
-    <applicationSettings>
-        <HeuristicLab.Services.Hive.Properties.Settings>
-            <setting name="SlaveHeartbeatTimeout" serializeAs="String">
-                <value>00:03:00</value>
-            </setting>
-            <setting name="CalculatingJobHeartbeatTimeout" serializeAs="String">
-                <value>00:05:30</value>
-            </setting>
-            <setting name="TransferringJobHeartbeatTimeout" serializeAs="String">
-                <value>00:15:00</value>
-            </setting>
-            <setting name="TriggerEventManagerInHeartbeat" serializeAs="String">
-                <value>False</value>
-            </setting>
-            <setting name="CleanupInterval" serializeAs="String">
-                <value>00:03:00</value>
-            </setting>
-            <setting name="SweepInterval" serializeAs="String">
-                <value>3.00:00:00</value>
-            </setting>
-            <setting name="SchedulingPatience" serializeAs="String">
-                <value>00:00:20</value>
-            </setting>
-            <setting name="ProfileServicePerformance" serializeAs="String">
-                <value>False</value>
-            </setting>
-            <setting name="GenerateStatisticsInterval" serializeAs="String">
-                <value>00:03:00</value>
-            </setting>
-        </HeuristicLab.Services.Hive.Properties.Settings>
-    </applicationSettings>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup>
+  <configSections>
+    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+      <section name="HeuristicLab.Services.Hive.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
+    </sectionGroup>
+  </configSections>
+  
+  <applicationSettings>
+    <HeuristicLab.Services.Hive.Properties.Settings>
+      <setting name="SlaveHeartbeatTimeout" serializeAs="String">
+        <value>00:03:00</value>
+      </setting>
+      <setting name="CalculatingJobHeartbeatTimeout" serializeAs="String">
+        <value>00:05:30</value>
+      </setting>
+      <setting name="TransferringJobHeartbeatTimeout" serializeAs="String">
+        <value>00:15:00</value>
+      </setting>
+      <setting name="TriggerEventManagerInHeartbeat" serializeAs="String">
+        <value>False</value>
+      </setting>
+      <setting name="CleanupInterval" serializeAs="String">
+        <value>00:03:00</value>
+      </setting>
+      <setting name="SweepInterval" serializeAs="String">
+        <value>3.00:00:00</value>
+      </setting>
+      <setting name="SchedulingPatience" serializeAs="String">
+        <value>00:00:20</value>
+      </setting>
+      <setting name="ProfileServicePerformance" serializeAs="String">
+        <value>False</value>
+      </setting>
+      <setting name="GenerateStatisticsInterval" serializeAs="String">
+        <value>00:03:00</value>
+      </setting>
+    </HeuristicLab.Services.Hive.Properties.Settings>
+  </applicationSettings>
+
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
+  </startup>
 </configuration>
Index: stable/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml
===================================================================
--- stable/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml	(revision 15260)
+++ stable/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml	(revision 15261)
@@ -1,4 +1,4 @@
 ﻿<?xml version="1.0" encoding="utf-8"?><Database Name="HeuristicLab.OKB" EntityNamespace="HeuristicLab.Services.OKB.DataAccess" ContextNamespace="HeuristicLab.Services.OKB.DataAccess" Class="OKBDataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
-  <Connection Mode="AppSettings" ConnectionString="Data Source=.\SQLEXPRESS;Initial Catalog=HeuristicLab.OKB;Integrated Security=True" SettingsObjectName="HeuristicLab.Services.OKB.DataAccess.Properties.Settings" SettingsPropertyName="OKBConnectionString" Provider="System.Data.SqlClient" />
+  <Connection Mode="AppSettings" ConnectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.OKB" SettingsObjectName="HeuristicLab.Services.OKB.DataAccess.Properties.Settings" SettingsPropertyName="OKBConnectionString" Provider="System.Data.SqlClient" />
   <Table Name="dbo.AlgorithmClass" Member="AlgorithmClasses">
     <Type Name="AlgorithmClass">
Index: stable/HeuristicLab.Services.OKB.DataAccess/3.3/app.config
===================================================================
--- stable/HeuristicLab.Services.OKB.DataAccess/3.3/app.config	(revision 15260)
+++ stable/HeuristicLab.Services.OKB.DataAccess/3.3/app.config	(revision 15261)
@@ -1,8 +1,10 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
-  <configSections>
-  </configSections>
   <connectionStrings>
-    <add name="HeuristicLab.Services.OKB.DataAccess.Properties.Settings.OKBConnectionString" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.OKB" providerName="System.Data.SqlClient"/>
+    <add name="HeuristicLab.Services.OKB.DataAccess.Properties.Settings.OKBConnectionString" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.OKB" />
   </connectionStrings>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
+
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
+  </startup>
+</configuration>
Index: stable/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj
===================================================================
--- stable/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj	(revision 15260)
+++ stable/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj	(revision 15261)
@@ -309,5 +309,5 @@
     <None Include="HeuristicLab.snk" />
     <None Include="Properties\AssemblyInfo.cs.frame" />
-    <None Include="web.config" />
+    <None Include="Web.config" />
   </ItemGroup>
   <ItemGroup>
Index: stable/HeuristicLab.Services.OKB/3.3/Web.config
===================================================================
--- stable/HeuristicLab.Services.OKB/3.3/Web.config	(revision 15261)
+++ stable/HeuristicLab.Services.OKB/3.3/Web.config	(revision 15261)
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <connectionStrings>
+    <add name="HeuristicLab.Authentication" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication"/>
+    <add name="HeuristicLab.Services.OKB.DataAccess.Properties.Settings.OKBConnectionString" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.OKB"/>
+  </connectionStrings>
+
+  <system.web>
+    <authentication mode="Forms" />
+    <compilation debug="true" targetFramework="4.5" />
+    <customErrors mode="Off" />
+    <membership defaultProvider="AspNetSqlMembershipProvider">
+      <providers>
+        <clear />
+        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="HeuristicLab.Authentication"
+             requiresQuestionAndAnswer="false" requiresUniqueEmail="false" applicationName="HeuristicLab.Authentication" minRequiredPasswordLength="8"
+             minRequiredNonalphanumericCharacters="0" maxInvalidPasswordAttempts="5" />
+      </providers>
+    </membership>
+    <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
+      <providers>
+        <clear />
+        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="HeuristicLab.Authentication" applicationName="HeuristicLab.Authentication" />
+      </providers>
+    </roleManager>
+  </system.web>
+
+  <system.serviceModel>
+    <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
+    <services>
+      <service behaviorConfiguration="DefaultServiceBehavior" name="HeuristicLab.Services.OKB.Administration.AdministrationService">
+        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding"
+          contract="HeuristicLab.Services.OKB.Administration.IAdministrationService" />
+        <host>
+          <baseAddresses>
+            <add baseAddress="http://localhost:8000/OKB-3.3/AdministrationService.svc" />
+          </baseAddresses>
+        </host>
+      </service>
+      <service behaviorConfiguration="DefaultServiceBehavior" name="HeuristicLab.Services.OKB.Query.QueryService">
+        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding"
+          name="WSHttpBinding_IQueryService" contract="HeuristicLab.Services.OKB.Query.IQueryService" />
+        <endpoint address="net.tcp://localhost:8001/OKB-3.3/QueryService.svc"
+          binding="netTcpBinding" bindingConfiguration="DefaultNetBinding"
+          name="NetBinding_IQueryService" contract="HeuristicLab.Services.OKB.Query.IQueryService" />
+        <host>
+          <baseAddresses>
+            <add baseAddress="http://localhost:8000/OKB-3.3/QueryService.svc" />
+          </baseAddresses>
+        </host>
+      </service>
+      <service behaviorConfiguration="DefaultServiceBehavior" name="HeuristicLab.Services.OKB.RunCreation.RunCreationService">
+        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding"
+          contract="HeuristicLab.Services.OKB.RunCreation.IRunCreationService" />
+        <host>
+          <baseAddresses>
+            <add baseAddress="http://localhost:8000/OKB-3.3/RunCreationService.svc" />
+          </baseAddresses>
+        </host>
+      </service>
+    </services>
+    <bindings>
+      <netTcpBinding>
+        <binding name="DefaultNetBinding" receiveTimeout="00:20:00"
+          sendTimeout="00:20:00" maxBufferPoolSize="2147483647" maxBufferSize="2147483647"
+          maxReceivedMessageSize="2147483647" portSharingEnabled="true">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security mode="TransportWithMessageCredential">
+            <message clientCredentialType="UserName" />
+          </security>
+        </binding>
+      </netTcpBinding>
+      <wsHttpBinding>
+        <binding name="DefaultWsHttpBinding" maxBufferPoolSize="2147483647"
+          maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security>
+            <message clientCredentialType="UserName" />
+          </security>
+        </binding>
+      </wsHttpBinding>
+    </bindings>
+    <behaviors>
+      <serviceBehaviors>
+        <behavior name="DefaultServiceBehavior">
+          <serviceMetadata httpGetEnabled="true" />
+          <serviceDebug includeExceptionDetailInFaults="true" />
+          <serviceAuthorization principalPermissionMode="UseAspNetRoles"
+            roleProviderName="AspNetSqlRoleProvider" />
+          <serviceCredentials>
+            <serviceCertificate findValue="localhost" x509FindType="FindBySubjectName" />
+            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider"
+              membershipProviderName="AspNetSqlMembershipProvider" />
+          </serviceCredentials>
+        </behavior>
+      </serviceBehaviors>
+    </behaviors>
+  </system.serviceModel>
+
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
+  </startup>
+</configuration>
Index: stable/HeuristicLab.Services.OKB/3.3/app.config
===================================================================
--- stable/HeuristicLab.Services.OKB/3.3/app.config	(revision 15260)
+++ stable/HeuristicLab.Services.OKB/3.3/app.config	(revision 15261)
@@ -1,21 +1,25 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <connectionStrings>
-    <add name="HeuristicLab.Authentication" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication"/>
+    <add name="HeuristicLab.Authentication" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication"/>
     <add name="HeuristicLab.Services.OKB.DataAccess.Properties.Settings.OKBConnectionString" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.OKB"/>
   </connectionStrings>
 
   <system.web>
-    <compilation debug="true"/>
-    <membership>
+    <authentication mode="Forms" />
+    <compilation debug="true" targetFramework="4.5" />
+    <customErrors mode="Off" />
+    <membership defaultProvider="AspNetSqlMembershipProvider">
       <providers>
-        <clear/>
-        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="HeuristicLab.Authentication" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="HeuristicLab.Authentication"/>
+        <clear />
+        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="HeuristicLab.Authentication"
+             requiresQuestionAndAnswer="false" requiresUniqueEmail="false" applicationName="HeuristicLab.Authentication" minRequiredPasswordLength="8"
+             minRequiredNonalphanumericCharacters="0" maxInvalidPasswordAttempts="5" />
       </providers>
     </membership>
-    <roleManager enabled="true">
+    <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
       <providers>
-        <clear/>
-        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="HeuristicLab.Authentication" applicationName="HeuristicLab.Authentication"/>
+        <clear />
+        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="HeuristicLab.Authentication" applicationName="HeuristicLab.Authentication" />
       </providers>
     </roleManager>
@@ -23,63 +27,77 @@
 
   <system.serviceModel>
+    <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
+    <services>
+      <service behaviorConfiguration="DefaultServiceBehavior" name="HeuristicLab.Services.OKB.Administration.AdministrationService">
+        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding"
+          contract="HeuristicLab.Services.OKB.Administration.IAdministrationService" />
+        <host>
+          <baseAddresses>
+            <add baseAddress="http://localhost:8000/OKB-3.3/AdministrationService.svc" />
+          </baseAddresses>
+        </host>
+      </service>
+      <service behaviorConfiguration="DefaultServiceBehavior" name="HeuristicLab.Services.OKB.Query.QueryService">
+        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding"
+          name="WSHttpBinding_IQueryService" contract="HeuristicLab.Services.OKB.Query.IQueryService" />
+        <endpoint address="net.tcp://localhost:8001/OKB-3.3/QueryService.svc"
+          binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IQueryService"
+          name="NetBinding_IQueryService" contract="HeuristicLab.Services.OKB.Query.IQueryService" />
+        <host>
+          <baseAddresses>
+            <add baseAddress="http://localhost:8000/OKB-3.3/QueryService.svc" />
+          </baseAddresses>
+        </host>
+      </service>
+      <service behaviorConfiguration="DefaultServiceBehavior" name="HeuristicLab.Services.OKB.RunCreation.RunCreationService">
+        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding"
+          contract="HeuristicLab.Services.OKB.RunCreation.IRunCreationService" />
+        <host>
+          <baseAddresses>
+            <add baseAddress="http://localhost:8000/OKB-3.3/RunCreationService.svc" />
+          </baseAddresses>
+        </host>
+      </service>
+    </services>
     <bindings>
-      <mexHttpBinding>
-        <binding name="DefaultMexHttpBinding"/>
-      </mexHttpBinding>
+      <netTcpBinding>
+        <binding name="NetTcpBinding_IQueryService" receiveTimeout="00:20:00"
+          sendTimeout="00:20:00" maxBufferPoolSize="2147483647" maxBufferSize="2147483647"
+          maxReceivedMessageSize="2147483647" portSharingEnabled="true">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security mode="TransportWithMessageCredential">
+            <message clientCredentialType="UserName" />
+          </security>
+        </binding>
+      </netTcpBinding>
       <wsHttpBinding>
-        <binding name="DefaultWsHttpBinding" maxReceivedMessageSize="200000000">
-          <readerQuotas maxArrayLength="200000000" maxBytesPerRead="200000000"/>
-          <security mode="Message">
-            <message clientCredentialType="UserName"/>
+        <binding name="DefaultWsHttpBinding" maxBufferPoolSize="2147483647"
+          maxReceivedMessageSize="2147483647">
+          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
+            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
+          <security>
+            <message clientCredentialType="UserName" />
           </security>
         </binding>
       </wsHttpBinding>
     </bindings>
-
     <behaviors>
       <serviceBehaviors>
         <behavior name="DefaultServiceBehavior">
-          <serviceMetadata httpGetEnabled="true"/>
-          <serviceDebug includeExceptionDetailInFaults="true"/>
-          <serviceAuthorization principalPermissionMode="UseAspNetRoles" roleProviderName="AspNetSqlRoleProvider"/>
+          <serviceMetadata httpGetEnabled="true" />
+          <serviceDebug includeExceptionDetailInFaults="true" />
+          <serviceAuthorization principalPermissionMode="UseAspNetRoles"
+            roleProviderName="AspNetSqlRoleProvider" />
           <serviceCredentials>
-            <serviceCertificate findValue="localhost" x509FindType="FindBySubjectName"/>
-            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="AspNetSqlMembershipProvider"/>
+            <serviceCertificate findValue="localhost" x509FindType="FindBySubjectName" />
+            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider"
+              membershipProviderName="AspNetSqlMembershipProvider" />
           </serviceCredentials>
-          <dataContractSerializer maxItemsInObjectGraph="6553600"/>
         </behavior>
       </serviceBehaviors>
     </behaviors>
-
-    <services>     
-      <service behaviorConfiguration="DefaultServiceBehavior" name="HeuristicLab.Services.OKB.Administration.AdministrationService">
-        <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="DefaultMexHttpBinding" contract="IMetadataExchange"/>
-        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding" contract="HeuristicLab.Services.OKB.Administration.IAdministrationService"/>
-        <host>
-          <baseAddresses>
-            <add baseAddress="http://localhost:8732/Design_Time_Addresses/OKB-3.3/AdministrationService"/>
-          </baseAddresses>
-        </host>
-      </service>
-      <service behaviorConfiguration="DefaultServiceBehavior" name="HeuristicLab.Services.OKB.RunCreation.RunCreationService">
-        <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="DefaultMexHttpBinding" contract="IMetadataExchange"/>
-        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding" contract="HeuristicLab.Services.OKB.RunCreation.IRunCreationService"/>
-        <host>
-          <baseAddresses>
-            <add baseAddress="http://localhost:8732/Design_Time_Addresses/OKB-3.3/RunCreationService"/>
-          </baseAddresses>
-        </host>
-      </service>
-      <service behaviorConfiguration="DefaultServiceBehavior" name="HeuristicLab.Services.OKB.Query.QueryService">
-        <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="DefaultMexHttpBinding" contract="IMetadataExchange"/>
-        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding" contract="HeuristicLab.Services.OKB.Query.IQueryService"/>
-        <host>
-          <baseAddresses>
-            <add baseAddress="http://localhost:8732/Design_Time_Addresses/OKB-3.3/QueryService"/>
-          </baseAddresses>
-        </host>
-      </service>
-    </services>
   </system.serviceModel>
+  
   <startup>
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
Index: stable/HeuristicLab.Services.OKB/3.3/web.config
===================================================================
--- stable/HeuristicLab.Services.OKB/3.3/web.config	(revision 15260)
+++ 	(revision )
@@ -1,91 +1,0 @@
-<?xml version="1.0"?>
-<configuration>
-  <connectionStrings>
-    <clear />
-    <add name="HeuristicLab.Authentication"
-           connectionString="data source=.;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication" />
-    <add name="HeuristicLab.Services.OKB.DataAccess.Properties.Settings.OKBConnectionString"
-         connectionString="Data Source=.;Integrated Security=SSPI;Initial Catalog=HeuristicLab.OKB" />
-  </connectionStrings>
-
-  <system.web>
-    <authentication mode="Forms" />
-    <compilation debug="true" targetFramework="4.0" />
-    <customErrors mode="Off"/>
-    <membership>
-      <providers>
-        <clear />
-        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="HeuristicLab.Authentication"
-             enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
-             maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
-             applicationName="HeuristicLab.Authentication" />
-      </providers>
-    </membership>
-    <roleManager enabled="true">
-      <providers>
-        <clear />
-        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="HeuristicLab.Authentication"
-             applicationName="HeuristicLab.Authentication" />
-      </providers>
-    </roleManager>
-  </system.web>
-
-  <system.serviceModel>
-    <bindings>
-      <mexHttpBinding>
-        <binding name="DefaultMexHttpBinding" />
-      </mexHttpBinding>
-      <wsHttpBinding>
-        <binding name="DefaultWsHttpBinding" maxReceivedMessageSize="200000000">
-          <readerQuotas maxArrayLength="200000000" maxBytesPerRead="200000000" />
-          <security mode="Message">
-            <message clientCredentialType="UserName" />
-          </security>
-        </binding>
-      </wsHttpBinding>
-    </bindings>
-
-    <behaviors>
-      <serviceBehaviors>
-        <behavior name="DefaultServiceBehavior">
-          <serviceMetadata httpGetEnabled="true" />
-          <serviceDebug includeExceptionDetailInFaults="true" />
-          <serviceAuthorization principalPermissionMode="UseAspNetRoles" roleProviderName="AspNetSqlRoleProvider" />
-          <serviceCredentials>
-            <serviceCertificate findValue="services.heuristiclab.com" x509FindType="FindBySubjectName" />
-            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="AspNetSqlMembershipProvider" />
-          </serviceCredentials>
-        </behavior>
-      </serviceBehaviors>
-    </behaviors>
-
-    <services> 
-
-      <service name="HeuristicLab.Services.OKB.Administration.AdministrationService" behaviorConfiguration="DefaultServiceBehavior">
-        <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="DefaultMexHttpBinding" contract="IMetadataExchange" listenUriMode="Explicit" />
-        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding" contract="HeuristicLab.Services.OKB.Administration.IAdministrationService" listenUriMode="Explicit" />
-      </service>
-
-      <service name="HeuristicLab.Services.OKB.RunCreation.RunCreationService" behaviorConfiguration="DefaultServiceBehavior">
-        <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="DefaultMexHttpBinding" contract="IMetadataExchange" listenUriMode="Explicit" />
-        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding" contract="HeuristicLab.Services.OKB.RunCreation.IRunCreationService" listenUriMode="Explicit" />
-      </service>
-
-      <service name="HeuristicLab.Services.OKB.Query.QueryService" behaviorConfiguration="DefaultServiceBehavior">
-        <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="DefaultMexHttpBinding" contract="IMetadataExchange" listenUriMode="Explicit" />
-        <endpoint binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding" contract="HeuristicLab.Services.OKB.Query.IQueryService" listenUriMode="Explicit" />
-      </service>
-
-    </services>
-
-    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
-  </system.serviceModel>
-
-  <system.webServer>
-    <modules runAllManagedModulesForAllRequests="true" />
-  </system.webServer>
-
-  <startup>
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
-  </startup>
-</configuration>
Index: stable/HeuristicLab.Services.WebApp.Maintenance/3.3/Web.config
===================================================================
--- stable/HeuristicLab.Services.WebApp.Maintenance/3.3/Web.config	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp.Maintenance/3.3/Web.config	(revision 15261)
@@ -1,3 +1,3 @@
-﻿<?xml version="1.0"?>
+﻿<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <system.web>
Index: stable/HeuristicLab.Services.WebApp.Maintenance/3.3/app.config
===================================================================
--- stable/HeuristicLab.Services.WebApp.Maintenance/3.3/app.config	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp.Maintenance/3.3/app.config	(revision 15261)
Index: stable/HeuristicLab.Services.WebApp.Statistics/3.3/Web.config
===================================================================
--- stable/HeuristicLab.Services.WebApp.Statistics/3.3/Web.config	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp.Statistics/3.3/Web.config	(revision 15261)
@@ -1,3 +1,3 @@
-﻿<?xml version="1.0"?>
+﻿<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <system.web>
Index: stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/clients/clients.cshtml
===================================================================
--- stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/clients/clients.cshtml	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/clients/clients.cshtml	(revision 15261)
@@ -33,18 +33,18 @@
                 </div>
                 <div class="panel-body">
-                    <table class="table table-hover table-condensed">
+                    <table class="table table-hover table-condensed" ts-wrapper>
                         <thead>
                         <tr>
                             <th>#</th>
-                            <th>Client Name</th>
-                            <th>Group Name</th>
-                            <th>Cores</th>
-                            <th>Cpu Utilization</th>
-                            <th>Memory</th>
-                            <th>State</th>
+                            <th ts-criteria="Name">Client Name</th>
+                            <th ts-criteria="GroupName">Group Name</th>
+                            <th ts-criteria="UsedCores">Cores</th>
+                            <th ts-criteria="CpuUtilization">Cpu Utilization</th>
+                            <th ts-criteria="UsedMemory">Memory</th>
+                            <th ts-criteria="State">State</th>
                             <th></th>
                         </tr>
                         </thead>
-                        <tr ng-repeat="client in clientPage.Clients">
+                        <tr ng-repeat="client in clientPage.Clients" ts-repeat>
                             <td>{{($index + 1)+((curClientsPage-1)*(clientsPageSize))}}</td>
                             <td>{{client.Name}}</td>
@@ -81,18 +81,18 @@
                 </div>
                 <div class="panel-body">
-                    <table class="table table-hover table-condensed">
+                    <table class="table table-hover table-condensed" ts-wrapper>
                         <thead>
                             <tr>
                                 <th>#</th>
-                                <th>Client Name</th>
-                                <th>Group Name</th>
-                                <th>Cores</th>
-                                <th>Cpu Utilization</th>
-                                <th>Memory</th>
-                                <th>State</th>
+                                <th ts-criteria="Name">Client Name</th>
+                                <th ts-criteria="GroupName">Group Name</th>
+                                <th ts-criteria="UsedCores">Cores</th>
+                                <th ts-criteria="CpuUtilization">Cpu Utilization</th>
+                                <th ts-criteria="UsedMemory">Memory</th>
+                                <th ts-criteria="State">State</th>
                                 <th></th>
                             </tr>
                         </thead>
-                        <tr ng-repeat="client in expiredClientPage.Clients">
+                        <tr ng-repeat="client in expiredClientPage.Clients" ts-repeat>
                             <td>{{($index + 1)+((curExpiredClientsPage-1)*(expiredClientsPageSize))}}</td>
                             <td>{{client.Name}}</td>
Index: stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/exceptions/exceptions.cshtml
===================================================================
--- stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/exceptions/exceptions.cshtml	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/exceptions/exceptions.cshtml	(revision 15261)
@@ -30,17 +30,17 @@
                 </div>
                 <div class="panel-body">
-                    <table class="table table-hover table-condensed">
+                    <table class="table table-hover table-condensed" ts-wrapper>
                         <thead>
                         <tr>
                             <th>#</th>
-                            <th>Job</th>
-                            <th>Task</th>
-                            <th>Username</th>
-                            <th>Client</th>
-                            <th>Date</th>
+                            <th ts-criteria="JobName">Job</th>
+                            <th ts-criteria="TaskId">Task</th>
+                            <th ts-criteria="UserName">Username</th>
+                            <th ts-criteria="ClientName">Client</th>
+                            <th ts-criteria="Date">Date</th>
                             <th></th>
                         </tr>
                         </thead>
-                        <tr ng-repeat="exception in exceptionPage.Exceptions">
+                        <tr ng-repeat="exception in exceptionPage.Exceptions" ts-repeat>
                             <td>{{($index + 1)+((curExceptionsPage-1)*(exceptionsPageSize))}}</td>
                             <td><a ng-href="#/statistics/jobs/{{exception.JobId}}">{{exception.JobName}}</a></td>
Index: stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/groups/details/groupDetails.cshtml
===================================================================
--- stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/groups/details/groupDetails.cshtml	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/groups/details/groupDetails.cshtml	(revision 15261)
@@ -173,17 +173,17 @@
                 </div>
                 <div class="panel-body">
-                    <table class="table table-hover table-condensed">
+                    <table class="table table-hover table-condensed" ts-wrapper>
                         <thead>
                             <tr>
                                 <th>#</th>
-                                <th>Client Name</th>
-                                <th>Cores</th>
-                                <th>Cpu Utilization</th>
-                                <th>Memory</th>
-                                <th>State</th>
+                                <th ts-criteria="Name">Client Name</th>
+                                <th ts-criteria="UsedCores">Cores</th>
+                                <th ts-criteria="CpuUtilization">Cpu Utilization</th>
+                                <th ts-criteria="UsedMemory">Memory</th>
+                                <th ts-criteria="State">State</th>
                                 <th></th>
                             </tr>
                         </thead>
-                        <tr ng-repeat="client in clientPage.Clients">
+                        <tr ng-repeat="client in clientPage.Clients" ts-repeat>
                             <td>{{($index + 1)+((curClientsPage-1)*(clientsPageSize))}}</td>
                             <td>{{client.Name}}</td>
Index: stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/groups/groups.cshtml
===================================================================
--- stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/groups/groups.cshtml	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/groups/groups.cshtml	(revision 15261)
@@ -33,17 +33,17 @@
                 </div>
                 <div class="panel-body">
-                    <table class="table table-hover table-condensed">
+                    <table class="table table-hover table-condensed" ts-wrapper>
                         <thead>
                         <tr>
                             <th>#</th>
-                            <th>Group Name</th>
-                            <th>Cores</th>
-                            <th>Cpu Utilization</th>
-                            <th>Memory</th>
-                            <th>Clients</th>
+                            <th ts-criteria="Name">Group Name</th>
+                            <th ts-criteria="UsedCores">Cores</th>
+                            <th ts-criteria="CpuUtilization">Cpu Utilization</th>
+                            <th ts-criteria="UsedMemory">Memory</th>
+                            <th ts-criteria="OnlineClients">Clients</th>
                             <th></th>
                         </tr>
                         </thead>
-                        <tr ng-repeat="group in groupPage.Groups">
+                        <tr ng-repeat="group in groupPage.Groups" ts-repeat>
                             <td>{{($index + 1)+((curGroupsPage-1)*(groupsPageSize))}}</td>
                             <td>{{group.Name}}</td>
Index: stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/jobs/jobs.cshtml
===================================================================
--- stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/jobs/jobs.cshtml	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/jobs/jobs.cshtml	(revision 15261)
@@ -33,19 +33,19 @@
                 </div>
                 <div class="panel-body">
-                    <table class="table table-hover table-condensed">
+                    <table class="table table-hover table-condensed" ts-wrapper>
                         <thead>
                         <tr>
                             <th>#</th>
-                            <th>Job Name</th>
+                            <th ts-criteria="Name">Job Name</th>
                             @if (Request.IsAuthenticated && User.IsInRole(HiveRoles.Administrator)) {
-                                <th>Username</th>
+                                <th ts-criteria="UserName">Username</th>
                             }
-                            <th>Date Created</th>
-                            <th>Progress</th>
+                            <th ts-criteria="DateCreated">Date Created</th>
+                            <th ts-criteria="CompletedTasks / TotalTasks">Progress</th>
                             <th></th>
                         </tr>
                         </thead>
                         @if (Request.IsAuthenticated && User.IsInRole(HiveRoles.Administrator)) {
-                            <tr ng-repeat="job in allUsersJobs">
+                            <tr ng-repeat="job in allUsersJobs" ts-repeat>
                                 <td>{{$index + 1}}</td>
                                 <td>{{job.Name}}</td>
@@ -65,5 +65,5 @@
                             </tr>
                         } else {
-                            <tr ng-repeat="job in jobs">
+                            <tr ng-repeat="job in jobs" ts-repeat>
                                 <td>{{$index + 1}}</td>
                                 <td>{{job.Name}}</td>
@@ -93,16 +93,16 @@
                 </div>
                 <div class="panel-body">
-                    <table class="table table-hover table-condensed">
+                    <table class="table table-hover table-condensed" ts-wrapper>
                         <thead>
                         <tr>
                             <th>#</th>
-                            <th>Job Name</th>
-                            <th>Date Created</th>
-                            <th>Date Completed</th>
-                            <th>Tasks</th>
+                            <th ts-criteria="Name">Job Name</th>
+                            <th ts-criteria="DateCreated">Date Created</th>
+                            <th ts-criteria="DateCompleted">Date Completed</th>
+                            <th ts-criteria="TotalTasks|parseInt">Tasks</th>
                             <th></th>
                         </tr>
                         </thead>
-                        <tr ng-repeat="job in completedJobPage.Jobs">
+                        <tr ng-repeat="job in completedJobPage.Jobs" ts-repeat>
                             <td>{{($index + 1)+((completedJobCurPage-1)*(completedJobPageSize))}}</td>
                             <td>{{job.Name}}</td>
Index: stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/users/details/userDetails.cshtml
===================================================================
--- stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/users/details/userDetails.cshtml	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/users/details/userDetails.cshtml	(revision 15261)
@@ -68,15 +68,15 @@
                 </div>
                 <div class="panel-body">
-                    <table class="table table-hover table-condensed">
+                    <table class="table table-hover table-condensed" ts-wrapper>
                         <thead>
                             <tr>
                                 <th>#</th>
-                                <th>Job Name</th>
-                                <th>Date Created</th>
+                                <th ts-criteria="Name">Job Name</th>
+                                <th ts-criteria="DateCreated">Date Created</th>
                                 <th>Progress</th>
                                 <th></th>
                             </tr>
                         </thead>
-                        <tr ng-repeat="job in jobs">
+                        <tr ng-repeat="job in jobs" ts-repeat>
                             <td>{{$index + 1}}</td>
                             <td>{{job.Name}}</td>
@@ -105,16 +105,16 @@
                 </div>
                 <div class="panel-body">
-                    <table class="table table-hover table-condensed">
+                    <table class="table table-hover table-condensed" ts-wrapper>
                         <thead>
                             <tr>
                                 <th>#</th>
-                                <th>Job Name</th>
-                                <th>Date Created</th>
-                                <th>Date Completed</th>
-                                <th>Tasks</th>
+                                <th ts-criteria="Name">Job Name</th>
+                                <th ts-criteria="DateCreated">Date Created</th>
+                                <th ts-criteria="DateCompleted">Date Completed</th>
+                                <th ts-criteria="TotalTasks">Tasks</th>
                                 <th></th>
                             </tr>
                         </thead>
-                        <tr ng-repeat="job in completedJobPage.Jobs">
+                        <tr ng-repeat="job in completedJobPage.Jobs" ts-repeat>
                             <td>{{($index + 1)+((completedJobCurPage-1)*(completedJobPageSize))}}</td>
                             <td>{{job.Name}}</td>
Index: stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/users/users.cshtml
===================================================================
--- stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/users/users.cshtml	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp.Statistics/3.3/WebApp/users/users.cshtml	(revision 15261)
@@ -30,13 +30,13 @@
                 </div>
                 <div class="panel-body">
-                    <table class="table table-hover table-condensed">
+                    <table class="table table-hover table-condensed" ts-wrapper>
                         <thead>
                             <tr>
                                 <th>#</th>
-                                <th>Username</th>
+                                <th ts-criteria="Name">Username</th>
                                 <th></th>
                             </tr>
                         </thead>
-                        <tr ng-repeat="user in users">
+                        <tr ng-repeat="user in users" ts-repeat>
                             <td>{{$index + 1}}</td>
                             <td>{{user.Name}}</td>
Index: stable/HeuristicLab.Services.WebApp.Statistics/3.3/statistics.js
===================================================================
--- stable/HeuristicLab.Services.WebApp.Statistics/3.3/statistics.js	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp.Statistics/3.3/statistics.js	(revision 15261)
@@ -2,5 +2,5 @@
 (function () {
     var plugin = appStatisticsPlugin;
-    plugin.dependencies = ['ngResource', 'ui.knob', 'ui.bootstrap', 'ngFitText'];
+    plugin.dependencies = ['ngResource', 'ui.knob', 'ui.bootstrap', 'ngFitText', 'tableSort'];
     plugin.files = [
         'WebApp/statistics.css',
Index: stable/HeuristicLab.Services.WebApp.Status/3.3/WebApi/DataController.cs
===================================================================
--- stable/HeuristicLab.Services.WebApp.Status/3.3/WebApi/DataController.cs	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp.Status/3.3/WebApi/DataController.cs	(revision 15261)
@@ -91,5 +91,5 @@
           AvgWaitingTime = count > 0 ? (long)calculatingTasks.OrderBy(x => x.StartTime).Take(count).Average(x => x.InitialWaitingTime) : 0,
           AvgCalculatingTime = lastCalculatingTimes != null ? lastCalculatingTimes.Avg : 0,
-          TotalCpuTime = factTasks.Sum(x => Convert.ToInt64(x.CalculatingTime)),
+          TotalCpuTime = factTasks.Sum(x => (long?)x.CalculatingTime) ?? 0,
           StandardDeviationCalculatingTime = (long)StandardDeviation(completedTasks.Select(x => (double)x.CalculatingTime)),
           BeginDate = factTasks.Where(x => x.StartTime.HasValue).OrderBy(x => x.StartTime).Select(x => x.StartTime).FirstOrDefault()
Index: stable/HeuristicLab.Services.WebApp/3.3/Web.Debug.config
===================================================================
--- stable/HeuristicLab.Services.WebApp/3.3/Web.Debug.config	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp/3.3/Web.Debug.config	(revision 15261)
@@ -1,3 +1,3 @@
-﻿<?xml version="1.0"?>
+﻿<?xml version="1.0" encoding="utf-8"?>
 
 <!-- For more information on using Web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=301874 -->
Index: stable/HeuristicLab.Services.WebApp/3.3/Web.Release.config
===================================================================
--- stable/HeuristicLab.Services.WebApp/3.3/Web.Release.config	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp/3.3/Web.Release.config	(revision 15261)
@@ -1,3 +1,3 @@
-﻿<?xml version="1.0"?>
+﻿<?xml version="1.0" encoding="utf-8"?>
 
 <!-- For more information on using Web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=301874 -->
Index: stable/HeuristicLab.Services.WebApp/3.3/Web.config
===================================================================
--- stable/HeuristicLab.Services.WebApp/3.3/Web.config	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp/3.3/Web.config	(revision 15261)
@@ -1,12 +1,11 @@
 ﻿<?xml version="1.0" encoding="utf-8"?>
 <configuration>
-  <configSections>
-  </configSections>
   <connectionStrings>
     <remove name="HeuristicLab.Authentication" />
     <remove name="HeuristicLab.Services.Hive.DataAccess.Settings.HeuristicLab_Hive_LinqConnectionString" />
-    <add name="HeuristicLab.Authentication" connectionString="data source=localhost;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication" />
-    <add name="HeuristicLab.Services.Hive.DataAccess.Settings.HeuristicLab_Hive_LinqConnectionString" connectionString="Data Source=localhost;Initial Catalog=HeuristicLab.Hive-3.3;Integrated Security=True;" providerName="System.Data.SqlClient" />
+    <add name="HeuristicLab.Authentication" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication" />
+    <add name="HeuristicLab.Services.Hive.DataAccess.Settings.HeuristicLab_Hive_LinqConnectionString" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Hive-3.3" />
   </connectionStrings>
+  
   <appSettings>
     <add key="webpages:Version" value="3.0.0.0" />
@@ -15,15 +14,20 @@
     <add key="UnobtrusiveJavaScriptEnabled" value="true" />
   </appSettings>
+  
   <system.web>
     <authentication mode="Forms">
       <forms loginUrl="~/App/Empty" timeout="2880" cookieless="UseCookies" name=".HEURISTICLABWEBAPP" />
     </authentication>
-    <membership>
+    <compilation debug="false" targetFramework="4.5" />
+    <httpRuntime targetFramework="4.5" />
+    <membership defaultProvider="AspNetSqlMembershipProvider">
       <providers>
         <clear />
-        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="HeuristicLab.Authentication" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="HeuristicLab.Authentication" />
+        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="HeuristicLab.Authentication"
+             requiresQuestionAndAnswer="false" requiresUniqueEmail="false" applicationName="HeuristicLab.Authentication" minRequiredPasswordLength="8"
+             minRequiredNonalphanumericCharacters="0" maxInvalidPasswordAttempts="5" />
       </providers>
     </membership>
-    <roleManager enabled="true">
+    <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
       <providers>
         <clear />
@@ -31,12 +35,7 @@
       </providers>
     </roleManager>
-    <compilation debug="false" targetFramework="4.5" />
-    <httpRuntime targetFramework="4.5" />
   </system.web>
+
   <system.webServer>
-    <staticContent>
-      <mimeMap fileExtension=".woff2" mimeType="application/font-woff" />
-    </staticContent>
-  
     <modules>
       <remove name="FormsAuthentication" />
@@ -49,10 +48,12 @@
       <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />
     </modules>
-  <handlers>
+    <handlers>
       <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
       <remove name="OPTIONSVerbHandler" />
       <remove name="TRACEVerbHandler" />
       <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
-    </handlers></system.webServer>
+    </handlers>
+  </system.webServer>
+
   <runtime>
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
Index: stable/HeuristicLab.Services.WebApp/3.3/WebApp/Web.config
===================================================================
--- stable/HeuristicLab.Services.WebApp/3.3/WebApp/Web.config	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp/3.3/WebApp/Web.config	(revision 15261)
@@ -1,4 +1,3 @@
-﻿<?xml version="1.0"?>
-
+﻿<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <configSections>
Index: stable/HeuristicLab.Services.WebApp/3.3/WebApp/helper.js
===================================================================
--- stable/HeuristicLab.Services.WebApp/3.3/WebApp/helper.js	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp/3.3/WebApp/helper.js	(revision 15261)
@@ -31,5 +31,5 @@
     var month = (1 + date.getMonth()).zeropad(2);
     var year = date.getFullYear();
-    var hour = (date.getHours() - 2).zeropad(2);
+    var hour = (date.getHours() + date.getTimezoneOffset() / 60).zeropad(2);
     var minute = date.getMinutes().zeropad(2);
     var second = date.getSeconds().zeropad(2);
Index: stable/HeuristicLab.Services.WebApp/3.3/WebApp/plugins/plugins/Web.config
===================================================================
--- stable/HeuristicLab.Services.WebApp/3.3/WebApp/plugins/plugins/Web.config	(revision 15260)
+++ stable/HeuristicLab.Services.WebApp/3.3/WebApp/plugins/plugins/Web.config	(revision 15261)
@@ -1,3 +1,3 @@
-﻿<?xml version="1.0"?>
+﻿<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <system.web>
