diff --git a/src/main/java/de/uni_hamburg/corpora/validation/quest/EXMARaLDATranscriptionChecker.java b/src/main/java/de/uni_hamburg/corpora/validation/quest/EXMARaLDATranscriptionChecker.java
index 1f061c01132b2a51905e5822ac5dd55b8a2b8218..f1a612964c1e5c8abe3d733ab91edb7cc0699b0f 100644
--- a/src/main/java/de/uni_hamburg/corpora/validation/quest/EXMARaLDATranscriptionChecker.java
+++ b/src/main/java/de/uni_hamburg/corpora/validation/quest/EXMARaLDATranscriptionChecker.java
@@ -1,19 +1,55 @@
 package de.uni_hamburg.corpora.validation.quest;
 
-import de.uni_hamburg.corpora.CorpusData;
-import de.uni_hamburg.corpora.EXMARaLDATranscriptionData;
+import de.uni_hamburg.corpora.*;
+import org.exmaralda.partitureditor.fsm.FSMException;
+import org.exmaralda.partitureditor.jexmaralda.JexmaraldaException;
+import org.jdom.Document;
 import org.jdom.Element;
+import org.jdom.JDOMException;
+import org.jdom.xpath.XPath;
+import org.xml.sax.SAXException;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Properties;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.xpath.XPathExpressionException;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.security.NoSuchAlgorithmException;
+import java.util.*;
+import java.util.logging.Logger;
 
+/**
+ * Checker for transcription data in an EXMARaLDA file
+ * @author bba1792, Dr. Herbert Lange
+ * @version 20220516
+ */
 public class EXMARaLDATranscriptionChecker extends TranscriptionChecker {
+
+    private final Logger logger = Logger.getLogger(getFunction());
+
     public EXMARaLDATranscriptionChecker(Properties properties) {
         super(properties);
     }
 
+    @Override
+    public Report function(Corpus c, Boolean fix) throws NoSuchAlgorithmException, ClassNotFoundException, FSMException, URISyntaxException, SAXException, IOException, ParserConfigurationException, JexmaraldaException, TransformerException, XPathExpressionException, JDOMException {
+        Report report = new Report();
+        // Check if we have a tier pattern. if yes we use the tier finder to get all tier ids
+        if (props.containsKey("transcription-tier-pattern")) {
+            // Copy old properties
+            Properties newProperties = new Properties();
+            newProperties.putAll(props);
+            // convert tier pattern
+            newProperties.put("tier-pattern", props.getProperty("transcription-tier-pattern"));
+            // run tier finder
+            EXMARaLDATierFinder etf = new EXMARaLDATierFinder(newProperties);
+            report.merge(etf.function(c, fix));
+            tierIds.addAll(etf.getTierList());
+        }
+        report.merge(super.function(c, fix));
+        return report;
+    }
+
     @Override
     public String getDescription() {
         return "Checker for the transcription in an EXMARaLDA transcription file";
@@ -25,12 +61,27 @@ public class EXMARaLDATranscriptionChecker extends TranscriptionChecker {
     }
 
     @Override
-    List<Element> getTranscriptionTiers(CorpusData cd) {
-        return null;
-    }
+    List<Element> getTranscriptionTiers(CorpusData cd) throws JDOMException {
+        List<Element> tiers = new ArrayList<>();
+        Document dom = ((EXMARaLDATranscriptionData) cd).getJdom();
+        // Explicit list of tiers
+        if (!tierIds.isEmpty())
+            for (String id : tierIds) {
+                Element tier =
+                        (Element) XPath.newInstance(String.format("//tier[@id=\"%s\"]",id)).selectSingleNode(dom);
+                if (tier != null)
+                    tiers.add(tier);
+            }
+            // HIAT tiers of category v (verbal)
+        else if (props.containsKey("transcription-method") &&
+                props.getProperty("transcription-method").equalsIgnoreCase("hiat")) {
+            logger.info("HIAT");
+            tiers.addAll(Collections.checkedList(XPath.newInstance("//tier[@category=\"v\"]").selectNodes(dom),
+                    Element.class));
+        }
+        return tiers;
+
 
-    @Override
-    String getTranscriptionText(Element tier) {
-        return null;
     }
+
 }