diff --git a/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/FormDataUtils.java b/common/src/main/java/de/itvsh/kop/eingangsadapter/common/formdata/FormDataUtils.java
similarity index 89%
rename from semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/FormDataUtils.java
rename to common/src/main/java/de/itvsh/kop/eingangsadapter/common/formdata/FormDataUtils.java
index 6b241a059d4cce531fcf213fbd5e4f3369b9d0a1..4da278f1a965ab9231806c179dd00970eb09ab78 100644
--- a/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/FormDataUtils.java
+++ b/common/src/main/java/de/itvsh/kop/eingangsadapter/common/formdata/FormDataUtils.java
@@ -1,10 +1,9 @@
-package de.itvsh.kop.eingangsadapter.semantik;
+package de.itvsh.kop.eingangsadapter.common.formdata;
 
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
-import de.itvsh.kop.eingangsadapter.common.formdata.FormData;
 import lombok.NonNull;
 
 public class FormDataUtils {
diff --git a/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRequestMapper.java b/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRequestMapper.java
index 870f47e40b3dfc7f19484f87634fb863cd96177d..412ab9786cac5cb4e8ed0730cdf05db34b87564c 100644
--- a/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRequestMapper.java
+++ b/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRequestMapper.java
@@ -35,7 +35,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 
 import de.itvsh.kop.common.errorhandling.TechnicalException;
 import de.itvsh.kop.eingangsadapter.common.formdata.FormData;
-import de.itvsh.kop.eingangsadapter.semantik.FormDataUtils;
+import de.itvsh.kop.eingangsadapter.common.formdata.FormDataUtils;
 import de.itvsh.kop.eingangsadapter.semantik.enginebased.AbstractFileMapper;
 
 @Component
diff --git a/intelliform-adapter/src/main/java/de/itvsh/kop/eingangsadapter/intelliform/AntragstellerMapper.java b/intelliform-adapter/src/main/java/de/itvsh/kop/eingangsadapter/intelliform/AntragstellerMapper.java
deleted file mode 100644
index 52b065cb2dfc9b79693c1a89cbcdafa09fa9a83c..0000000000000000000000000000000000000000
--- a/intelliform-adapter/src/main/java/de/itvsh/kop/eingangsadapter/intelliform/AntragstellerMapper.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.itvsh.kop.eingangsadapter.intelliform;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.Set;
-
-import org.springframework.stereotype.Component;
-
-import de.itvsh.kop.eingangsadapter.common.formdata.Antragsteller;
-import de.itvsh.kop.eingangsadapter.common.formdata.Antragsteller.AntragstellerBuilder;
-
-@Component
-class AntragstellerMapper {
-
-	static final String XML_ANTRAGSTELLER = "antragsteller";
-
-	static final String XML_MAPPING_ANREDE = "b_anrede";
-	static final String XML_MAPPING_VORNAME = "pers_vorname";
-	static final String XML_MAPPING_NACHNAME = "pers_nachname";
-	static final String XML_MAPPING_GEBURTSNAME = "pers_geburtsname";
-	static final String XML_MAPPING_GEBURTSDATUM = "pers_geburtsdatum";
-	static final String XML_MAPPING_GEBURTSORT = "pers_geburtsort";
-	static final String XML_MAPPING_EMAIL = "kont_email";
-	static final String XML_MAPPING_TELEFON = "kont_telefonnummer";
-
-	static final String XML_MAPPING_STRASSE = "sh_strasse";
-	static final String XML_MAPPING_HAUSNUMMER = "sh_hausnummer";
-	static final String XML_MAPPING_PLZ = "sh_plz";
-	static final String XML_MAPPING_ORT = "ort";
-
-	static final String XML_MAPPING_POSTFACH_ID = "nameid";
-
-	private static final Set<String> XML_MAPPINGS = new HashSet<>(List.of(
-			XML_MAPPING_ANREDE,
-			XML_MAPPING_VORNAME,
-			XML_MAPPING_NACHNAME,
-			XML_MAPPING_GEBURTSNAME,
-			XML_MAPPING_GEBURTSDATUM,
-			XML_MAPPING_GEBURTSORT,
-			XML_MAPPING_EMAIL,
-			XML_MAPPING_TELEFON,
-			XML_MAPPING_STRASSE,
-			XML_MAPPING_HAUSNUMMER,
-			XML_MAPPING_PLZ,
-			XML_MAPPING_ORT,
-			XML_MAPPING_POSTFACH_ID));
-
-	public Antragsteller mapToAntragsteller(Map<String, Object> formDataMap) {
-		var builder = Antragsteller.builder().postfachId(getPostfachId(formDataMap));
-
-		var filledBuilder = getAntragstellerMap(formDataMap)
-				.map(antragstellerMap -> addAntragstellerData(builder, antragstellerMap))
-				.orElse(builder);
-
-		removeMappedData(formDataMap);
-		return filledBuilder.build();
-	}
-
-	private String getPostfachId(Map<String, Object> formDataMap) {
-		return (String) formDataMap.get(XML_MAPPING_POSTFACH_ID);
-	}
-
-	@SuppressWarnings("unchecked")
-	private Optional<Map<String, Object>> getAntragstellerMap(Map<String, Object> formDataMap) {
-		return Optional.ofNullable(formDataMap.get(XML_ANTRAGSTELLER)).map(Map.class::cast).map(HashMap::new);
-	}
-
-	private AntragstellerBuilder addAntragstellerData(AntragstellerBuilder builder, Map<String, Object> antragstellerMap) {
-		return builder //
-				.anrede((String) antragstellerMap.get(XML_MAPPING_ANREDE)) //
-				.vorname((String) antragstellerMap.get(XML_MAPPING_VORNAME)) //
-				.nachname((String) antragstellerMap.get(XML_MAPPING_NACHNAME)) //
-				.geburtsname((String) antragstellerMap.get(XML_MAPPING_GEBURTSNAME)) //
-				.geburtsdatum((String) antragstellerMap.get(XML_MAPPING_GEBURTSDATUM)) //
-				.geburtsort((String) antragstellerMap.get(XML_MAPPING_GEBURTSORT)) //
-				.email((String) antragstellerMap.get(XML_MAPPING_EMAIL)) //
-				.telefon((String) antragstellerMap.get(XML_MAPPING_TELEFON)) //
-				.strasse((String) antragstellerMap.get(XML_MAPPING_STRASSE)) //
-				.hausnummer((String) antragstellerMap.get(XML_MAPPING_HAUSNUMMER)) //
-				.plz((String) antragstellerMap.get(XML_MAPPING_PLZ)) //
-				.ort((String) antragstellerMap.get(XML_MAPPING_ORT)) //
-				.data(getNotMappedData(antragstellerMap));
-	}
-
-	private Map<String, Object> getNotMappedData(Map<String, Object> antragstellerMap) {
-		var tempMap = new HashMap<>(antragstellerMap);
-		XML_MAPPINGS.forEach(tempMap::remove);
-		return tempMap;
-	}
-
-	private void removeMappedData(Map<String, Object> formDataMap) {
-		formDataMap.remove(XML_ANTRAGSTELLER);
-		formDataMap.remove(XML_MAPPING_POSTFACH_ID);
-	}
-}
\ No newline at end of file
diff --git a/intelliform-adapter/src/test/java/de/itvsh/kop/eingangsadapter/intelliform/AntragstellerMapperTest.java b/intelliform-adapter/src/test/java/de/itvsh/kop/eingangsadapter/intelliform/AntragstellerMapperTest.java
deleted file mode 100644
index 9c6817654276444b228d035bfd95c8e686815618..0000000000000000000000000000000000000000
--- a/intelliform-adapter/src/test/java/de/itvsh/kop/eingangsadapter/intelliform/AntragstellerMapperTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.itvsh.kop.eingangsadapter.intelliform;
-
-import static org.assertj.core.api.Assertions.*;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.junit.jupiter.api.Nested;
-import org.junit.jupiter.api.Test;
-
-class AntragstellerMapperTest {
-
-	private final static AntragstellerMapper mapper = new AntragstellerMapper();
-
-	@Nested
-	class TestMapToAntragsteller {
-
-		@Test
-		void shouldMapFields() {
-			var antragsteller = mapper.mapToAntragsteller(createDataMap());
-
-			assertThat(antragsteller).usingRecursiveComparison().ignoringFields("data").isEqualTo(AntragstellerTestFactory.create());
-		}
-
-		@Test
-		void shouldMapPostfachId() {
-			var antragsteller = mapper.mapToAntragsteller(createDataMap());
-
-			assertThat(antragsteller.getPostfachId()).isEqualTo(AntragstellerTestFactory.POSTFACH_ID);
-		}
-
-		@Nested
-		class TestOtherData {
-
-			private final String NOT_MAPPED_FIELD_KEY = "NotMappedField";
-
-			@Test
-			void shouldNotContainDuplicateValues() {
-				var antragsteller = mapper.mapToAntragsteller(createDataMap());
-
-				assertThat(antragsteller.getData()).doesNotContainKeys(
-						AntragstellerMapper.XML_MAPPING_ANREDE,
-						AntragstellerMapper.XML_MAPPING_EMAIL,
-						AntragstellerMapper.XML_MAPPING_GEBURTSDATUM,
-						AntragstellerMapper.XML_MAPPING_GEBURTSNAME,
-						AntragstellerMapper.XML_MAPPING_GEBURTSORT,
-						AntragstellerMapper.XML_MAPPING_NACHNAME,
-						AntragstellerMapper.XML_MAPPING_VORNAME,
-						AntragstellerMapper.XML_MAPPING_TELEFON,
-						AntragstellerMapper.XML_MAPPING_STRASSE,
-						AntragstellerMapper.XML_MAPPING_HAUSNUMMER,
-						AntragstellerMapper.XML_MAPPING_ORT,
-						AntragstellerMapper.XML_MAPPING_PLZ);
-			}
-
-			@Test
-			void shouldContainNotMappedData() {
-				var antragstellerMap = new HashMap<>(AntragstellerTestFactory.createAsMap());
-				antragstellerMap.put(NOT_MAPPED_FIELD_KEY, "Value!");
-				var antragsteller = mapper.mapToAntragsteller(createDataMap(antragstellerMap));
-
-				assertThat(antragsteller.getData()).containsKey(NOT_MAPPED_FIELD_KEY);
-			}
-		}
-
-		private Map<String, Object> createDataMap() {
-			return createDataMap(AntragstellerTestFactory.createAsMap());
-		}
-
-		private Map<String, Object> createDataMap(Map<String, Object> antragstellerMap) {
-			Map<String, Object> dataMap = new HashMap<>();
-			dataMap.put(AntragstellerMapper.XML_ANTRAGSTELLER, antragstellerMap);
-			dataMap.put(AntragstellerMapper.XML_MAPPING_POSTFACH_ID, AntragstellerTestFactory.POSTFACH_ID);
-			return dataMap;
-		}
-	}
-}
\ No newline at end of file
diff --git a/intelliform-adapter/src/test/java/de/itvsh/kop/eingangsadapter/intelliform/AntragstellerTestFactory.java b/intelliform-adapter/src/test/java/de/itvsh/kop/eingangsadapter/intelliform/AntragstellerTestFactory.java
deleted file mode 100644
index 0a6bf40d8ea0d5963f7ed7f9a70e5b60c83df4f8..0000000000000000000000000000000000000000
--- a/intelliform-adapter/src/test/java/de/itvsh/kop/eingangsadapter/intelliform/AntragstellerTestFactory.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.itvsh.kop.eingangsadapter.intelliform;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-import de.itvsh.kop.eingangsadapter.common.formdata.Antragsteller;
-
-public class AntragstellerTestFactory {
-
-	static final String ANREDE = "Herr";
-	static final String VORNAME = "Max";
-	static final String NACHNAME = "Mustermann";
-	static final String GEBURTSNAME = "Maxi";
-	static final String GEBURTSDATUM = "01.01.1970";
-	static final String GEBURTSORT = "Sandhausen";
-	static final String EMAIL = "alsob@ne.ver";
-	static final String TELEFON = "+ 49 4621 9654";
-
-	static final String STRASSE = "Lachstrasse";
-	static final String HAUSNUMMER = "8484";
-	static final String PLZ = "12345";
-	static final String ORT = "Wohlfuehlhausen";
-
-	static final String POSTFACH_ID = UUID.randomUUID().toString();
-
-	public static Antragsteller create() {
-		return createBuilder().build();
-	}
-
-	public static Antragsteller.AntragstellerBuilder createBuilder() {
-		return Antragsteller.builder()
-				.anrede(ANREDE)
-				.vorname(VORNAME)
-				.nachname(NACHNAME)
-				.geburtsname(GEBURTSNAME)
-				.geburtsdatum(GEBURTSDATUM)
-				.geburtsort(GEBURTSORT)
-				.email(EMAIL)
-				.telefon(TELEFON)
-				.strasse(STRASSE)
-				.hausnummer(HAUSNUMMER)
-				.plz(PLZ)
-				.ort(ORT)
-				.postfachId(POSTFACH_ID);
-	}
-
-	public static Map<String, Object> createAsMap() {
-		var map = new HashMap<String, Object>();
-		map.put(AntragstellerMapper.XML_MAPPING_ANREDE, ANREDE);
-		map.put(AntragstellerMapper.XML_MAPPING_VORNAME, VORNAME);
-		map.put(AntragstellerMapper.XML_MAPPING_NACHNAME, NACHNAME);
-		map.put(AntragstellerMapper.XML_MAPPING_GEBURTSNAME, GEBURTSNAME);
-		map.put(AntragstellerMapper.XML_MAPPING_GEBURTSDATUM, GEBURTSDATUM);
-		map.put(AntragstellerMapper.XML_MAPPING_GEBURTSORT, GEBURTSORT);
-		map.put(AntragstellerMapper.XML_MAPPING_EMAIL, EMAIL);
-		map.put(AntragstellerMapper.XML_MAPPING_TELEFON, TELEFON);
-		map.put(AntragstellerMapper.XML_MAPPING_STRASSE, STRASSE);
-		map.put(AntragstellerMapper.XML_MAPPING_HAUSNUMMER, HAUSNUMMER);
-		map.put(AntragstellerMapper.XML_MAPPING_PLZ, PLZ);
-		map.put(AntragstellerMapper.XML_MAPPING_ORT, ORT);
-		return map;
-	}
-}
\ No newline at end of file
diff --git a/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/AbstractFileMapper.java b/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/AbstractFileMapper.java
index c2f36ae6a94d90e9b0e9cab6fe9438302f171307..02e1acfe3ed0bd2efc5b37405bcdb572abd06de8 100644
--- a/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/AbstractFileMapper.java
+++ b/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/AbstractFileMapper.java
@@ -28,9 +28,9 @@ import java.util.Map;
 import java.util.Optional;
 
 import de.itvsh.kop.eingangsadapter.common.formdata.FormData;
+import de.itvsh.kop.eingangsadapter.common.formdata.FormDataUtils;
 import de.itvsh.kop.eingangsadapter.common.formdata.IncomingFile;
 import de.itvsh.kop.eingangsadapter.common.formdata.IncomingFileGroup;
-import de.itvsh.kop.eingangsadapter.semantik.FormDataUtils;
 
 //TODO Vererbung ausbauen und durch Utils ersetzen
 public abstract class AbstractFileMapper implements EngineBasedMapper {