diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/utils/VDmnFunctions.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/utils/VDmnFunctions.java
index 8ce99e980b5f15ed14ba1d0f36ee0b078adbb108..4c504b213a3cc6240488e210727c28f2abd4eb66 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/utils/VDmnFunctions.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/domain/vdmn/utils/VDmnFunctions.java
@@ -161,11 +161,11 @@ public class VDmnFunctions {
       return true;
     }
     for (int i = 0; i < oneRule.getDmnOutputValues().size(); i++) {
-      if (oneRule
+      if (!oneRule
           .getDmnOutputValues()
           .get(i)
           .getText()
-          .equals(otherRule.getDmnOutputValues().get(0).getText())) {
+          .equals(otherRule.getDmnOutputValues().get(i).getText())) {
         return true;
       }
     }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/AbstractClassificationType.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/AbstractClassificationType.java
index 3657db50c1401f71decbb454415a34966af4c4db..923bfa55d064d2df49e696f4eb68ec7e9e61c482 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/AbstractClassificationType.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/AbstractClassificationType.java
@@ -6,18 +6,29 @@ import de.unikoblenz.fgbks.base.domain.Name;
 public abstract class AbstractClassificationType implements ClassificationType {
 
   protected Name name;
+  protected Name niceName;
   protected Description description;
 
-  protected AbstractClassificationType(Name name, Description description) {
+  protected AbstractClassificationType(Name name, Name niceName, Description description) {
     this.name = name;
+    this.niceName = niceName;
     this.description = description;
   }
 
+  protected AbstractClassificationType(Name name, Description description) {
+    this(name, new Name(name), description);
+  }
+
   @Override
   public Name getName() {
     return name;
   }
 
+  @Override
+  public Name getNiceName() {
+    return niceName;
+  }
+
   @Override
   public Description getDescription() {
     return description;
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/ClassificationType.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/ClassificationType.java
index e4359deaeef5a4d2fe540b0f4ecc85369ef0e9e2..b70195a0b7b5ce2f5acabed76f8291d691967afd 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/ClassificationType.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/ClassificationType.java
@@ -12,6 +12,10 @@ public interface ClassificationType extends Serializable {
   @JsonbProperty("name")
   Name getName();
 
+  @NotNull
+  @JsonbProperty("niceName")
+  Name getNiceName();
+
   @NotNull
   @JsonbProperty("description")
   Description getDescription();
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DecisionLogicLevelVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DecisionLogicLevelVerification.java
index a6e88e7a7b0590fae1c398551526b140999def66..f015e91f24f6449adfae1474c980f3d49c29eb30 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DecisionLogicLevelVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DecisionLogicLevelVerification.java
@@ -10,7 +10,7 @@ public class DecisionLogicLevelVerification extends AbstractClassificationType {
       new DecisionLogicLevelVerification();
 
   private DecisionLogicLevelVerification() {
-    super(new Name("DecisionLogic"), new Description("test")); // TODO
+    super(new Name("DecisionLogic"), new Name("Decision Logic"), new Description("test")); // TODO
   }
 
   public static DecisionLogicLevelVerification getInstance() {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DrdModelingLevelVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DrdModelingLevelVerification.java
index 6de26519a2b797c7da11ef380ae6a4464ea08464..3feb19570b8d8cad8ef3e8f7efa77676d373b8ab 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DrdModelingLevelVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DrdModelingLevelVerification.java
@@ -6,11 +6,10 @@ import de.unikoblenz.fgbks.base.domain.Name;
 @Classification
 public class DrdModelingLevelVerification extends AbstractClassificationType {
 
-  private static final DrdModelingLevelVerification instance =
-      new DrdModelingLevelVerification();
+  private static final DrdModelingLevelVerification instance = new DrdModelingLevelVerification();
 
   private DrdModelingLevelVerification() {
-    super(new Name("DrdModeling"), new Description("test")); // TODO
+    super(new Name("DrdModeling"), new Name("DRD Modeling"), new Description("test")); // TODO
   }
 
   public static DrdModelingLevelVerification getInstance() {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/PartialReductionVerifier.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/PartialReductionVerifier.java
index f95267dfd25e4ca1dd43d73f51cf53d48d8b6803..38aca480857e44095531b9f35087c071b6c960ea 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/PartialReductionVerifier.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/PartialReductionVerifier.java
@@ -32,8 +32,7 @@ public class PartialReductionVerifier extends AbstractVerifier {
     List<List<VDmnRule>> identicalOutputCluster =
         VDmnFunctions.getRuleClustersWithIdenticalOutput(dmnDecisionTable);
     List<VDmnInputColumn> inColumns = dmnDecisionTable.getInputColumns();
-    identicalOutputCluster.stream() // do: parallelStream() ?
-        .forEach(c -> findPartialReduction(inColumns, 0, c, false));
+    identicalOutputCluster.forEach(c -> findPartialReduction(inColumns, 0, c, false));
   }
 
   private void findPartialReduction(
@@ -46,7 +45,7 @@ public class PartialReductionVerifier extends AbstractVerifier {
                     VerificationResultEntryElement.create(inColumns.get(0).getDmnDecisionTable())
                         .withIdentifier(rule.getRuleId())));
         vreFactory.addVerificationFix(SHOW_RULES);
-        vreFactory.addToEntry(VerificationClassification.WARNING, "PartialReduction");
+        vreFactory.addToEntry(VerificationClassification.INFO, "PartialReduction");
       }
     } else {
       List<VDmnInputValue> rules =
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/AbstractVerificationType.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/AbstractVerificationType.java
index f81cf28f833dadc2d664222a13e79ac3c136114e..2c66966f9545ce76233cfed1f34655f23fbb4e52 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/AbstractVerificationType.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/AbstractVerificationType.java
@@ -7,18 +7,29 @@ import java.util.Objects;
 public abstract class AbstractVerificationType implements VerificationType {
 
   protected Name name;
+  protected Name niceName;
   protected Description description;
 
-  protected AbstractVerificationType(Name name, Description description) {
+  protected AbstractVerificationType(Name name, Name niceName, Description description) {
     this.name = name;
+    this.niceName = niceName;
     this.description = description;
   }
 
+  protected AbstractVerificationType(Name name, Description description) {
+    this(name, new Name(name), description);
+  }
+
   @Override
   public Name getName() {
     return name;
   }
 
+  @Override
+  public Name getNiceName() {
+    return niceName;
+  }
+
   @Override
   public Description getDescription() {
     return description;
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/DateVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/DateVerification.java
index 01f7b7bba5bcc4d6ac0f19e57da3932ce22351f2..64ea2417a3c1373bbff9487170f984cdf176a169 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/DateVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/DateVerification.java
@@ -12,7 +12,10 @@ public class DateVerification extends AbstractVerificationType {
   private static final DateVerification instance = new DateVerification();
 
   private DateVerification() {
-    super(new Name("DateFormatCheck"), new Description("test")); // TODO
+    super(
+        new Name("DateFormatVerification"),
+        new Name("Date Format Check"),
+        new Description("test")); // TODO
   }
 
   public static DateVerification getInstance() {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/EmptyOutputVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/EmptyOutputVerification.java
index 5c7c7a14e3a796acfbf465f4bb4b13a80a038aef..842123728b944f2cbaecb3f9984b164b55fcff76 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/EmptyOutputVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/EmptyOutputVerification.java
@@ -12,7 +12,10 @@ public class EmptyOutputVerification extends AbstractVerificationType {
   private static final EmptyOutputVerification instance = new EmptyOutputVerification();
 
   private EmptyOutputVerification() {
-    super(new Name("EmptyOutputVerification"), new Description("test")); // TODO
+    super(
+        new Name("EmptyOutputVerification"),
+        new Name("Empty Output"),
+        new Description("test")); // TODO
   }
 
   public static EmptyOutputVerification getInstance() {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/EquivalentStringVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/EquivalentStringVerification.java
index d6285899bd424bc2573cdf23464ff66aec5f12cc..90803b7eb3f5df8f87324ecbcace54910425a0aa 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/EquivalentStringVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/EquivalentStringVerification.java
@@ -12,7 +12,10 @@ public class EquivalentStringVerification extends AbstractVerificationType {
   private static final EquivalentStringVerification instance = new EquivalentStringVerification();
 
   private EquivalentStringVerification() {
-    super(new Name("EquivalentStringVerification"), new Description("test")); // TODO
+    super(
+        new Name("EquivalentStringVerification"),
+        new Name("Equivalent Strings"),
+        new Description("test")); // TODO
   }
 
   public static EquivalentStringVerification getInstance() {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/IdenticalBusinessRuleVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/IdenticalBusinessRuleVerification.java
index eb60d8e39b1e7afd49fb73f6d1a58fb3056759d3..749bd5b0dd06f77a8013876d58634f3b636f1602 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/IdenticalBusinessRuleVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/IdenticalBusinessRuleVerification.java
@@ -13,7 +13,7 @@ public class IdenticalBusinessRuleVerification extends AbstractVerificationType
       new IdenticalBusinessRuleVerification();
 
   private IdenticalBusinessRuleVerification() {
-    super(new Name("IdenticalBusinessRuleVerification"), new Description("test")); // TODO
+    super(new Name("Identical Rules"), new Description("test")); // TODO
   }
 
   public static IdenticalBusinessRuleVerification getInstance() {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/InputValueSyntaxVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/InputValueSyntaxVerification.java
index da582ddef3368cf69fe5d155de30b3579f3aed12..a4112152d1eccbcd449a5f74c33cb77cfb8a4b9d 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/InputValueSyntaxVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/InputValueSyntaxVerification.java
@@ -14,6 +14,7 @@ public class InputValueSyntaxVerification extends AbstractVerificationType {
   private InputValueSyntaxVerification() {
     super(
         new Name("InputValueSyntaxVerification"),
+        new Name("Input Value Syntax Check"),
         new Description("Check values for syntactical correctness."));
   }
 
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/LonelyDataInputVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/LonelyDataInputVerification.java
index 201bfa5aef1e5354d907e2096ca0f81be6075d0e..f4a03689c663dc915cbbe823933090b2d83fff76 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/LonelyDataInputVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/LonelyDataInputVerification.java
@@ -14,6 +14,7 @@ public class LonelyDataInputVerification extends AbstractVerificationType {
   private LonelyDataInputVerification() {
     super(
         new Name("LonelyDataInputVerification"),
+        new Name("Lonely Data Input"),
         new Description(
             "Checks for any input data node, if it has no connection to at least one decision table."));
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/MissingInputColumnVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/MissingInputColumnVerification.java
index 01a42585cf32705d3d038dff4c32474e3f298dd2..6a5ce32fc2d841bf68fd0c1d283b371edefff137 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/MissingInputColumnVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/MissingInputColumnVerification.java
@@ -15,8 +15,8 @@ public class MissingInputColumnVerification extends AbstractVerificationType {
   private MissingInputColumnVerification() {
     super(
         new Name("MissingInputColumnVerification"),
-        new Description(
-            "todo")); // TODO englisch
+        new Name("Missing Input Column"),
+        new Description("todo")); // TODO
   }
 
   public static MissingInputColumnVerification getInstance() {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/MissingInputDataVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/MissingInputDataVerification.java
index 1aea630323759b6d0877b853ee7f7679f05f3a44..64cdb7a1a13065a101ded20df616a3cd3652c205 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/MissingInputDataVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/MissingInputDataVerification.java
@@ -15,8 +15,9 @@ public class MissingInputDataVerification extends AbstractVerificationType {
   private MissingInputDataVerification() {
     super(
         new Name("MissingInputDataVerification"),
+        new Name("Missing Input Data"),
         new Description(
-            "todo")); // TODO englisch
+            "todo")); // TODO
   }
 
   public static MissingInputDataVerification getInstance() {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/MissingRuleVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/MissingRuleVerification.java
index 3fbcb580bb56bc6dbe1881cab2a6157289f1f465..7143891d88502d879f063fbcb2e2c6e2e862480f 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/MissingRuleVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/MissingRuleVerification.java
@@ -12,7 +12,10 @@ public class MissingRuleVerification extends AbstractVerificationType {
   private static final MissingRuleVerification instance = new MissingRuleVerification();
 
   private MissingRuleVerification() {
-    super(new Name("MissingRuleVerification"), new Description("test")); // TODO
+    super(
+        new Name("MissingRuleVerification"),
+        new Name("Missing Rule"),
+        new Description("test")); // TODO
   }
 
   public static MissingRuleVerification getInstance() {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/OverlappingVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/OverlappingVerification.java
index ccf21864b6c935bcaa6338ac3bcd89d06d7106d1..c46f899de87d925b17292dcde594811269f8a2b6 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/OverlappingVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/OverlappingVerification.java
@@ -12,7 +12,10 @@ public class OverlappingVerification extends AbstractVerificationType {
   private static final OverlappingVerification instance = new OverlappingVerification();
 
   private OverlappingVerification() {
-    super(new Name("OverlappingVerification"), new Description("test")); // TODO
+    super(
+        new Name("OverlappingVerification"),
+        new Name("Overlapping Rules"),
+        new Description("test")); // TODO
   }
 
   public static OverlappingVerification getInstance() {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/PartialReductionVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/PartialReductionVerification.java
index f8d1476982396ad6c49f4c9027b418d1eae6f173..16f050f857f3d76a39d269ed56a0f2504c254222 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/PartialReductionVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/PartialReductionVerification.java
@@ -12,7 +12,10 @@ public class PartialReductionVerification extends AbstractVerificationType {
   private static final PartialReductionVerification instance = new PartialReductionVerification();
 
   private PartialReductionVerification() {
-    super(new Name("PartialReductionVerification"), new Description("test")); // TODO
+    super(
+        new Name("PartialReductionVerification"),
+        new Name("Partial Reductions"),
+        new Description("test")); // TODO
   }
 
   public static PartialReductionVerification getInstance() {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/PredefinedExistingValueVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/PredefinedExistingValueVerification.java
index c15ae69f9f7d523f445fc9b22389a0c4d778f8f2..f8b941b013911ebf6dd8b95ae09160692849e855 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/PredefinedExistingValueVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/PredefinedExistingValueVerification.java
@@ -14,6 +14,7 @@ public class PredefinedExistingValueVerification extends AbstractVerificationTyp
   private PredefinedExistingValueVerification() {
     super(
         new Name("PredefinedExistingValueVerification"),
+        new Name("Predefined Existing Values"),
         new Description(
             "Es gibt in einer Tabellen-Zelle einen String Value, der aber nicht in der Liste der "
                 + "Predefines Values vorgesehen ist.")); // TODO englisch
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/PredefinedMissingValueVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/PredefinedMissingValueVerification.java
index 5e1026be663aa41f95d6bff4944655c5e757d317..803cc04aee026f7324ce36099b448bf608a4c386 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/PredefinedMissingValueVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/PredefinedMissingValueVerification.java
@@ -15,6 +15,7 @@ public class PredefinedMissingValueVerification extends AbstractVerificationType
   private PredefinedMissingValueVerification() {
     super(
         new Name("PredefinedMissingValueVerification"),
+        new Name("Predefined Missing Values"),
         new Description(
             "Es gibt in einer Tabellen-Zelle predefines values, die jedoch nicht in der spalte vorhanden sind.")); // TODO englisch
   }
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/SubsumptionVerification.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/SubsumptionVerification.java
index 5bd61e143163bdd88cc84c4ddbf2b61b96d21b6d..f62160003aa2cb23a8145fa58114a3f20c15416e 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/SubsumptionVerification.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/SubsumptionVerification.java
@@ -12,7 +12,10 @@ public class SubsumptionVerification extends AbstractVerificationType {
   private static final SubsumptionVerification instance = new SubsumptionVerification();
 
   private SubsumptionVerification() {
-    super(new Name("SubsumptionVerification"), new Description("test")); // TODO
+    super(
+        new Name("SubsumptionVerification"),
+        new Name("Rule Subsumptions"),
+        new Description("test")); // TODO
   }
 
   public static SubsumptionVerification getInstance() {
diff --git a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/VerificationType.java b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/VerificationType.java
index b9a06e118bed98ee8c0ea0937b19b0fb92a7a779..795af33b7307ba4c097cc5c466dc81ec61184d59 100644
--- a/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/VerificationType.java
+++ b/dmnverifierapi/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/VerificationType.java
@@ -17,6 +17,10 @@ public interface VerificationType extends ValueObject {
   @JsonbProperty("name")
   Name getName();
 
+  @NotNull
+  @JsonbProperty("niceName")
+  Name getNiceName();
+
   @NotNull
   @JsonbProperty("description")
   Description getDescription();
diff --git a/dmnverifierapi/src/main/resources/application.properties b/dmnverifierapi/src/main/resources/application.properties
index 268acffe8af465516e386fcef0c95dbd0c6ce1f9..edf2982dad7df27af650d5837f62c75a3c36b63e 100644
--- a/dmnverifierapi/src/main/resources/application.properties
+++ b/dmnverifierapi/src/main/resources/application.properties
@@ -1,9 +1,10 @@
 # Configuration file
 # Quarkus cors settings
 quarkus.http.cors=true
-quarkus.http.cors.origins=http://localhost:8081,http://localhost:80
+%dev.quarkus.http.cors.origins=http://localhost:8081,http://192.168.2.109:8081
+quarkus.http.cors.origins=http://localhost,http://dmn.fg-bks.uni-koblenz.de,http://141.26.209.83
 quarkus.http.cors.headers=accept,authorization,content-type,x-requested-with
-quarkus.http.cors.methods=GET, POST, OPTIONS
+quarkus.http.cors.methods=GET,POST,OPTIONS
 # Amount of threads for calculating the verifications
 verifier.threads=8
 # No parallel execution in dev mode
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/css/img/download.png b/dmnverifierfrontend/src/main/resources/META-INF/resources/css/img/download.png
new file mode 100644
index 0000000000000000000000000000000000000000..118d3b511c4a005e1a060b2ec8eb82e8d8345b2e
Binary files /dev/null and b/dmnverifierfrontend/src/main/resources/META-INF/resources/css/img/download.png differ
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/css/img/emptyFile.png b/dmnverifierfrontend/src/main/resources/META-INF/resources/css/img/emptyFile.png
new file mode 100644
index 0000000000000000000000000000000000000000..95019a7052813523866796d1a3dee5f66cac2a1d
Binary files /dev/null and b/dmnverifierfrontend/src/main/resources/META-INF/resources/css/img/emptyFile.png differ
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/css/img/upload.png b/dmnverifierfrontend/src/main/resources/META-INF/resources/css/img/upload.png
new file mode 100644
index 0000000000000000000000000000000000000000..5bb7a0204efdd0579e2bf95c9b81a7f3af5072b8
Binary files /dev/null and b/dmnverifierfrontend/src/main/resources/META-INF/resources/css/img/upload.png differ
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/css/stylesheets.css b/dmnverifierfrontend/src/main/resources/META-INF/resources/css/stylesheets.css
index 9e325afc19c6b8a900c70941d6735e44bd1978ab..5f71bf1044bd933905aee94e64c7ebda19e27956 100644
--- a/dmnverifierfrontend/src/main/resources/META-INF/resources/css/stylesheets.css
+++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/css/stylesheets.css
@@ -1,20 +1,153 @@
+/** General configuration */
 html, body {
-  height: 100%;
   padding: 0;
-  margin: 0;
-  font-size: 10pt;
+  font-size: 11pt;
+}
+
+h1 {
+  font-weight: 400;
+  line-height: 1.2;
+  font-size: 1.8em;
+  font-family: Impact, Charcoal, sans-serif;
+  margin-top: 8px;
+  color: #0b3004;
 }
 
 h2 {
   margin: 10px;
 }
 
-input {
-  color: blue;
+select {
+  -moz-appearance: none;
+  -webkit-appearance: none;
+  appearance: none;
+  border: none;
+  border-radius: 2px;
+  color: #0b3004;
+  cursor: pointer;
+  font-family: 'Open Sans', sans-serif;
+  font-size: 14px;
+  height: 35px;
+  outline: none;
+  padding-left: 5px;
+}
+
+select option {
+  color: #000;
+}
+
+select optgroup {
+  color: #111;
+}
+
+select::-ms-expand {
+  display: none;
+}
+
+select:focus::-ms-value {
+  background-color: transparent;
+}
+
+.clickable {
+  box-shadow: 2px 2px 3px 2px rgba(0, 0, 0, .3);
+}
+
+.clickable:hover {
+  box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, .3);
+}
+
+.clickable:active {
+  box-shadow: 0 0 1px 0 rgba(0, 0, 0, .3);
+}
+
+/** Top-line configuration */
+
+.dmn-root {
+  margin: -2px;
+}
+
+.dmn-top {
+  height: 60px;
+  padding-left: 6px;
+  padding-top: 6px;
+  display: flex;
+  flex-direction: row;
+  justify-content: space-around;
+}
+
+.dmn-top-item {
+  flex-grow: 20;
+}
+
+.dmn-top-item > input {
+  display: none;
+}
+
+.dmn-top-item > label {
+  height: 52px;
+  border: 2px solid #0b3004;
+  border-radius: 5px;
+  display: block;
+  background-size: cover;
+  background-position: center;
+}
+
+.dmn-upload {
+  flex-grow: 1;
+  border: 2px black;
+}
+
+.dmn-upload > label {
+  background-image: url("img/upload.png");
+  width: 50px;
+}
+
+.dmn-empty-file {
+  flex-grow: 1;
+}
+
+.dmn-empty-file > label {
+  background-image: url("img/emptyFile.png");
+  width: 50px;
+}
+
+.dmn-download {
+  flex-grow: 1;
+}
+
+.dmn-download > label {
+  background-image: url("img/download.png");
+  width: 50px;
+}
+
+/** Verifier configuration */
+
+#dmn-verifier-header {
+  padding: 3px;
+  display: flex;
+  justify-content: flex-start;
+  align-items: flex-start;
+}
+
+#dmn-button-verify {
+  flex-grow: 1;
+  max-width: 90px;
+  height: 35px;
+  background: white;
+  border-radius: 2px;
+}
+
+.dmn-verifier-header-item {
+  margin: 8px 12px;
+}
+
+.dmn-verifier-select {
+  flex-grow: 4;
 }
 
-#dmn-file-upload {
-  width: 100%;
+#dmn-verifier-types {
+  flex-grow: 1;
+  max-width: 200px;
 }
 
 .dmn-ERROR {
@@ -29,6 +162,6 @@ input {
   list-style-image: url("img/FATAL_ERROR.png");
 }
 
-.dmn-INFORMATION {
+.dmn-INFO {
   list-style-image: url("img/INFO.png");
 }
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/dmn/emptyDMN.dmn b/dmnverifierfrontend/src/main/resources/META-INF/resources/dmn/emptyDMN.dmn
new file mode 100644
index 0000000000000000000000000000000000000000..73f512d15fe89bed7f3029e37912e153ce10ef34
--- /dev/null
+++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/dmn/emptyDMN.dmn
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://www.omg.org/spec/DMN/20151101/dmn.xsd" xmlns:biodi="http://bpmn.io/schema/dmn/biodi/1.0" id="Definitions_1kjh9a2" name="DRD" namespace="http://camunda.org/schema/1.0/dmn">
+  <decision id="Decision_13nychf" name="Decision 1">
+    <extensionElements>
+      <biodi:bounds x="120" y="145" width="180" height="80" />
+    </extensionElements>
+    <decisionTable id="decisionTable_1">
+      <input id="input_1">
+        <inputExpression id="inputExpression_1" typeRef="string">
+          <text></text>
+        </inputExpression>
+      </input>
+      <output id="output_1" typeRef="string" />
+    </decisionTable>
+  </decision>
+</definitions>
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/index.html b/dmnverifierfrontend/src/main/resources/META-INF/resources/index.html
index 1f17fa29f2f82c43bf2231cd731746d0793530f6..3044c8079aaa6eff2f8684cc55530ce75759066a 100644
--- a/dmnverifierfrontend/src/main/resources/META-INF/resources/index.html
+++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/index.html
@@ -18,22 +18,42 @@
   <link href="css/dmnEditorTabs.css" rel="stylesheet" type="text/css"/>
 </head>
 <body>
-<input id="dmn-file-upload" type="file">
-<div id="content-dmn">
-  <div class="editor-parent">
-    <div class="editor-container"></div>
-    <div class="editor-tabs"></div>
+<div class="dmn-root">
+  <div class="dmn-top">
+    <div class="dmn-top-item dmn-upload">
+      <label class="clickable" for="dmn-file-upload">
+      </label>
+      <input id="dmn-file-upload" type="file"/>
+    </div>
+    <div class="dmn-top-item dmn-empty-file">
+      <label class="clickable" for="dmn-file-empty">
+      </label>
+      <input id="dmn-file-empty" type="button"/>
+    </div>
+    <div class="dmn-top-item dmn-download">
+      <label class="clickable" for="dmn-file-download">
+      </label>
+      <input id="dmn-file-download" type="button"/>
+    </div>
+    <div class="dmn-top-item">
+      <h1>Verification for Decision Modeling Notation</h1>
+    </div>
   </div>
+  <div id="content-dmn">
+    <div class="editor-parent">
+      <div class="editor-container"></div>
+      <div class="editor-tabs"></div>
+    </div>
+  </div>
+  <div id="root-dmn-verifier"></div>
 </div>
-<div id="root-dmn-verifier"></div>
-</div>
-
 <!-- load jquery -->
 <script src="https://unpkg.com/jquery@3.4.1/dist/jquery.js" type="text/javascript"></script>
 <!-- load dmn modeler -->
 <script src="https://unpkg.com/dmn-js@7.0.1/dist/dmn-modeler.development.js"></script>
 
-<script src="js/upload.js" type="text/javascript"></script>
+<script src="js/dmnUpload.js" type="text/javascript"></script>
+<script src="js/dmnDownload.js" type="text/javascript"></script>
 <script src="js/dmnViewer.js" type="text/javascript"></script>
 <script src="js/dmnVerifier.js" type="text/javascript"></script>
 </body>
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnDownload.js b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnDownload.js
new file mode 100644
index 0000000000000000000000000000000000000000..7b627084e44eb89c8dbdfeab58565efc3af1bc7b
--- /dev/null
+++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnDownload.js
@@ -0,0 +1,14 @@
+document.addEventListener("DOMContentLoaded", function () {
+  $('#dmn-file-download').on('click', exportDiagram());
+});
+
+function download(filename, dmnXml) {
+  let el = document.createElement('a');
+  el.setAttribute('href',
+      'data:text/xml;charset=utf-8,' + encodeURIComponent(dmnXml));
+  el.setAttribute('download', filename);
+  el.style.display = 'none';
+  document.body.appendChild(el);
+  el.click();
+  document.body.removeChild(el);
+}
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/upload.js b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnUpload.js
similarity index 65%
rename from dmnverifierfrontend/src/main/resources/META-INF/resources/js/upload.js
rename to dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnUpload.js
index 9cdc772b5acab39645c8fc5c4efa6fd460ca1d15..7de06eb124733af9e7736399b0ab2e0476cd8042 100644
--- a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/upload.js
+++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnUpload.js
@@ -1,5 +1,6 @@
 document.addEventListener("DOMContentLoaded", function () {
   $('#dmn-file-upload').on('change', loadDmnFromFile);
+  $('#dmn-file-empty').on('click', loadEmptyFile);
 });
 
 function loadDmnFromFile(evt) {
@@ -13,4 +14,15 @@ function loadDmnFromFile(evt) {
   fileReader.readAsText(dmnFile, "UTF-8");
 }
 
+function loadEmptyFile() {
+  $.ajax({
+    url: 'dmn/emptyDMN.dmn',
+    type: 'GET',
+    contentType: 'text/xml',
+    success: function (data) {
+      openDiagram(data);
+    }
+  });
+}
+
 
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerificationResultSet..js b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerificationResultSet..js
index 6161d2df8908769ea025d88b54fc848cf54c0e9a..999e64ea7eec9d898389d7904dc33eb28af335d5 100644
--- a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerificationResultSet..js
+++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerificationResultSet..js
@@ -55,6 +55,7 @@
  * @type {object}
  * @property {string} description
  * @property {string} name
+ * @property {string} niceName
  * @property {VerificationClassification} classification
  */
 
@@ -63,4 +64,5 @@
  * @type {object}
  * @property {string} description
  * @property {string} name
+ *  * @property {string} niceName
  */
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifier.js b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifier.js
index c18f6716558d763be7959765ebcc48442be9e38e..25d9d6fdf738d13ff4041f8807b8bf5ccdff45f7 100644
--- a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifier.js
+++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifier.js
@@ -1,4 +1,4 @@
-let rootUrl = 'http://localhost:8080/';
+let rootUrl = 'http://192.168.2.109:8080/';
 let dmnApi = rootUrl + 'api/dmn/';
 
 /**
@@ -7,16 +7,61 @@ let dmnApi = rootUrl + 'api/dmn/';
  */
 let verifierResults = {};
 
+/**
+ *
+ * @type {Array.<VerificationType>}
+ */
+let types = [];
+
+let $verifierTypes;
+
+// load types
+$.ajax({
+  url: dmnApi + 'verification/type',
+  type: 'GET',
+  contentType: 'text/xml',
+  success: function (data) {
+    types = data;
+    // sort types by classification and name
+    types.sort(function (
+        /** VerificationType */ firstEl, /** VerificationType */ secondEl) {
+      if (firstEl.classification.name
+          === secondEl.classification.name) {
+        if (firstEl.niceName === secondEl.niceName) {
+          return 0;
+        }
+        return firstEl.niceName < secondEl.niceName ? -1 : 1;
+      } else if (firstEl.classification.name
+          < secondEl.classification.name) {
+        return -1;
+      } else {
+        return 1;
+      }
+    });
+    $verifierTypes = renderTypeOptions();
+  }
+});
+
 function cleanDmnVerifierRoot() {
   let $root = $('#root-dmn-verifier').empty();
-  $root.append($(`
-    <button id="button-dmn-verify" onClick="checkVerifications()">
-    Get verifications</button>
+  let $header = $(`      
+      <div id="dmn-verifier-header">
+  `);
+  // add types
+  $header.append($verifierTypes);
+  // Add Button
+  $header.append($(`
+    <button class="clickable dmn-verifier-header-item" id="dmn-button-verify" onClick="checkVerifications()">
+    Verify</button>
   `));
+  // add header to root
+  $root.append($header);
+  $root.append($(`<div id="dmn-verifier-content">`));
   return $root;
 }
 
 function checkVerifications() {
+  cleanDmnVerifierRoot();
   getVerifications();
 }
 
@@ -28,8 +73,13 @@ function getVerifications() {
     } else {
       console.log('Requesting dmn verifications..');
     }
+    let apiPath = dmnApi + 'verification';
+    // check, if a verifier is preselected
+    if ($verifierTypes[0].selectedOptions[0].value !== 'all') {
+      apiPath += "/type/" + $verifierTypes[0].selectedOptions[0].value;
+    }
     $.ajax({
-      url: dmnApi + 'verification',
+      url: apiPath,
       type: 'POST',
       contentType: 'text/xml',
       data: xml,
@@ -63,31 +113,73 @@ function getVerifications() {
   });
 }
 
+function renderTypeOptions() {
+  let $select = $(`
+    <select name="verifier" id="dmn-verifier-types"
+      class="dmn-verifier-header-item dmn-verifier-select clickable">
+  `);
+  $select.append($(`<option value="all">All verifier</option>`));
+  let currentOpt = '';
+  let $curGroup;
+  for (let i = 0; i < types.length; i++) {
+    let bolNewGroup = currentOpt
+        !== types[i].classification.niceName;
+    if (bolNewGroup) {
+      if (currentOpt === currentOpt) {
+        $select.append($curGroup);
+      }
+      $curGroup = ($(
+          `<optgroup label="${types[i].classification.niceName}">
+      `));
+      currentOpt = types[i].classification.niceName;
+    }
+    $curGroup.append($(`
+      <option value="${types[i].name}">${types[i].niceName}</option>`
+    ));
+
+  }
+  $select.append($curGroup);
+  return $select;
+}
+
 function renderDmnVerifierOptions() {
-  // reset div
-  let $root = cleanDmnVerifierRoot();
+  let $header = $('#dmn-verifier-header');
   let $select = $(`
-    <select name="verifier" id="verifier" onchange="renderVerifierResult(this)">
+    <select name="verifier" id="verifier"
+      class="dmn-verifier-header-item dmn-verifier-select clickable"
+      onchange="renderVerifierResult(this)">
   `);
   $select.append($(`<option>Select a verifier</option>`));
   let currentOpt = '';
   let $curGroup;
   for (let i = 0; i < verifierResults.verifier.length; i++) {
+    let verifier = verifierResults.verifier[i];
     let bolNewGroup = currentOpt
-        !== verifierResults.verifier[i].type.classification.name;
+        !== verifier.type.classification.niceName;
     if (bolNewGroup) {
       if (currentOpt === currentOpt) {
         $select.append($curGroup);
       }
       $curGroup = ($(
-          `<optgroup label="${verifierResults.verifier[i].type.classification.name}">
+          `<optgroup label="${verifier.type.classification.niceName}">
       `));
-      currentOpt = verifierResults.verifier[i].type.classification.name;
+      currentOpt = verifier.type.classification.niceName;
     }
-    $curGroup.append(renderSelectEntry(verifierResults.verifier[i]));
+    if (verifierResults.verifier.length === 1) {
+      $curGroup.append($(`
+      <option value="${verifier.type.name}" selected>${verifier.type.niceName} (${verifier.size})</option>
+    `));
+    } else {
+      $curGroup.append($(`
+      <option value="${verifier.type.name}">${verifier.type.niceName} (${verifier.size})</option>
+    `));
+    }
+  }
+  $select.append($curGroup);
+  $header.append($select);
+  if (verifierResults.verifier.length === 1) {
+    renderVerifierResult($select[0].selectedOptions[0]);
   }
-  $root.append($select);
-  $root.append($(`<div id="verifier-entries">`));
 }
 
 /**
@@ -97,7 +189,7 @@ function renderDmnVerifierOptions() {
  */
 function renderSelectEntry(verifier) {
   return $(`
-      <option value="${verifier.type.name}">${verifier.type.name} (${verifier.size})</option>
+      <option value="${verifier.type.name}">${verifier.type.niceName} (${verifier.size})</option>
     `);
 }
 
@@ -108,11 +200,11 @@ function renderSelectEntry(verifier) {
  */
 function renderVerifierResult(verifierSelect) {
   let verifier = findVerifierByName(verifierSelect.value);
-  let $verifierEntries = $('#verifier-entries');
+  let $verifierEntries = $('#dmn-verifier-content');
   $verifierEntries.empty();
   if (verifier !== undefined) {
     $verifierEntries.append($(`
-    <div>${verifier.type.name}: ${verifier.type.description}</div>
+    <div>${verifier.type.niceName}: ${verifier.type.description}</div>
   `));
     let $entryList = $(`<ul>`);
     $verifierEntries.append($entryList);
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnViewer.js b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnViewer.js
index 71e766c42110353ac8f5ca166e9eb60cfafceecc..19788d5eac86c567f6aae408845e991dcfe6265b 100644
--- a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnViewer.js
+++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnViewer.js
@@ -12,13 +12,15 @@ $tabs.delegate('.tab', 'click', function (e) {
   dmnModeler.open(view);
 });
 
+// calc height
+let dmnModelerHeight = $(window).height() / 2.5;
 /**
  *
  * @type {DmnJS}
  */
 let dmnModeler = new DmnJS({
   container: $container,
-  height: 450,
+  height: dmnModelerHeight,
   width: '100%',
   keyboard: {
     bindTo: window
@@ -52,7 +54,7 @@ function exportDiagram() {
     } else {
       console.log('saving dmn..');
     }
-    // TODO, download
+    download("dmnTable.dmn", xml);
   });
 }