diff --git a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/CsvExporter.java b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/CsvExporter.java
index fc2d15d..0b62ff4 100644
--- a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/CsvExporter.java
+++ b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/CsvExporter.java
@@ -46,7 +46,7 @@
 
     @Override
     public void addMatch (JsonNode n, Writer w) throws IOException {
-        MatchExport m = mapper.treeToValue(n, MatchExport.class);
+        Match m = mapper.treeToValue(n, Match.class);
         Snippet s = m.getSnippet();
 
         String left = s.getLeft(),
diff --git a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/MatchExport.java b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/Match.java
similarity index 97%
rename from plugin/src/main/java/de/ids_mannheim/korap/plkexport/MatchExport.java
rename to plugin/src/main/java/de/ids_mannheim/korap/plkexport/Match.java
index f5c12b0..8f5e9ed 100644
--- a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/MatchExport.java
+++ b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/Match.java
@@ -6,7 +6,7 @@
  * Representation of a match.
  */
 @JsonIgnoreProperties(ignoreUnknown = true)
-public class MatchExport {
+public class Match {
 
     private String textSigle,
         author,
diff --git a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/RtfExporter.java b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/RtfExporter.java
index bad0608..3c663b2 100644
--- a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/RtfExporter.java
+++ b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/RtfExporter.java
@@ -89,7 +89,7 @@
 
         try {
 
-            MatchExport match = mapper.treeToValue(n, MatchExport.class);
+            Match match = mapper.treeToValue(n, Match.class);
 
             Snippet s = match.getSnippet();
 
diff --git a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/Service.java b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/Service.java
index 0871138..fc09678 100644
--- a/plugin/src/main/java/de/ids_mannheim/korap/plkexport/Service.java
+++ b/plugin/src/main/java/de/ids_mannheim/korap/plkexport/Service.java
@@ -67,7 +67,6 @@
  * - Change to "Leibniz-Institut" in Copyright notice.
  * - Improve Readme.
  * - 100 matches as default for export form.
- * - Rename MatchExport to Match.
  * - Test ExWsConf.
  *
  * TODO:
diff --git a/plugin/src/test/java/de/ids_mannheim/korap/plkexport/MatchTest.java b/plugin/src/test/java/de/ids_mannheim/korap/plkexport/MatchTest.java
index 63ab43f..ebe7f12 100644
--- a/plugin/src/test/java/de/ids_mannheim/korap/plkexport/MatchTest.java
+++ b/plugin/src/test/java/de/ids_mannheim/korap/plkexport/MatchTest.java
@@ -13,7 +13,7 @@
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.core.JsonProcessingException;
 
-import de.ids_mannheim.korap.plkexport.MatchExport;
+import de.ids_mannheim.korap.plkexport.Match;
 
 public class MatchTest {
 
@@ -28,7 +28,7 @@
         "\"textSigle\":\"RTF/G59/34284\","+
         "\"snippet\":\"<span class=\\\"context-left\\\"></span><span class=\\\"match\\\"><mark>Und dafür, dass</mark><span class=\\\"cutted\\\"></span></span><span class=\\\"context-right\\\"> meine IP öffentlich angezeigt wird. Über die IP kann man auf den Wohnort, den Provider und bei Aufenthalt am Arbeitsplatz auf den Arbeitgeber schließen, über Konto nicht. -- 09:24, 17. Dez. 2011 (CET) Bist Du denn nicht mehr selber Arbeitgeber? -- 09:31<span class=\\\"more\\\"></span></span>\"}";
 
-        MatchExport matchObj = mapper.readValue(match, MatchExport.class);
+        Match matchObj = mapper.readValue(match, Match.class);
 
         assertEquals(matchObj.getAuthor(), "Goethe");
         assertEquals(matchObj.getTitle(), "Title1");
