diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/AntragstellerExtractor.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/AntragstellerExtractor.java
similarity index 83%
rename from fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/AntragstellerExtractor.java
rename to fim-adapter/src/main/java/de/ozgcloud/eingang/fim/AntragstellerExtractor.java
index fa19e1bbfe19ab1e4d4d50119b86de8a4c911be5..5b4d631b42b68e2c6be47dce4e3cc8f5c7b870d2 100644
--- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/AntragstellerExtractor.java
+++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/AntragstellerExtractor.java
@@ -1,4 +1,4 @@
-package de.ozgcloud.eingang.fim.adapter;
+package de.ozgcloud.eingang.fim;
 
 import de.ozgcloud.eingang.common.formdata.FormData;
 
diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimBasedMapper.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimBasedMapper.java
index 09412d6074d0a13bdd18ed7fdffbf31f5979460d..90ec29b65fcca537e6017857bf8af0ec2ffcd312 100644
--- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimBasedMapper.java
+++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimBasedMapper.java
@@ -23,7 +23,7 @@ import java.util.Optional;
 class FimBasedMapper implements EngineBasedMapper {
 
     @Autowired
-    private FimService fimService = null;
+    private FimService fimService;
 
     public boolean isResponsible(final FormData formData) {
         //FIXME isResponsible from meta data
diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimConfig.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimConfig.java
deleted file mode 100644
index ebe019d570f3f7ac5294757d034655fecfa7741c..0000000000000000000000000000000000000000
--- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimConfig.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package de.ozgcloud.eingang.fim;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Configuration;
-import lombok.Getter;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@Configuration
-@EnableConfigurationProperties
-@ConfigurationProperties(prefix = "fim")
-@Getter
-public class FimConfig {
-
-    private final List<String> schemeLocations = new ArrayList<>();
-}
diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimProperties.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimProperties.java
new file mode 100644
index 0000000000000000000000000000000000000000..df67ec1a3468ca2e96a0a63e8edaa27d1f7ba24c
--- /dev/null
+++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimProperties.java
@@ -0,0 +1,25 @@
+package de.ozgcloud.eingang.fim;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+import lombok.Getter;
+import org.springframework.validation.annotation.Validated;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Validated
+@Configuration
+@ConfigurationProperties(prefix = FimProperties.PROPERTIES_PREFIX)
+@Getter
+public class FimProperties {
+    static final String PROPERTIES_PREFIX = "fim";
+
+    /**
+     * List of paths to fim scheme files which should be processed by the fim-adapter.
+     *
+     * Only fim data that is in the namespace and versions of these files will be mapped by the fim-adapter.
+     * All other fim data will be left untouched by the mapper.
+     */
+    private final List<String> schemeLocations = new ArrayList<>();
+}
diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimScheme.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimScheme.java
index e1dd10f4ef47b64c48867b352cb3058f40779838..e38bd99ba4f4d4ab5586b1d4ae436f533017ecc0 100644
--- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimScheme.java
+++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimScheme.java
@@ -1,6 +1,5 @@
 package de.ozgcloud.eingang.fim;
 
-import de.ozgcloud.eingang.fim.adapter.FimSchemeAdapter;
 import lombok.Getter;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/FimSchemeAdapter.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeAdapter.java
similarity index 93%
rename from fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/FimSchemeAdapter.java
rename to fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeAdapter.java
index 6ea4356b10f63cadc639d2237b3e2d8e023b6033..4166b23656cc1d845ee729fdc86212d6f4efc392 100644
--- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/FimSchemeAdapter.java
+++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeAdapter.java
@@ -1,6 +1,5 @@
-package de.ozgcloud.eingang.fim.adapter;
+package de.ozgcloud.eingang.fim;
 
-import de.ozgcloud.eingang.fim.FimSchemeIdentifier;
 import lombok.extern.log4j.Log4j2;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeAdapterCatalogue.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeAdapterCatalogue.java
index 3b178d3a696cca0e9864b439f9ec538e75cd60e6..934f3f8af3c717e76bbf894362316ad6b13cc2df 100644
--- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeAdapterCatalogue.java
+++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeAdapterCatalogue.java
@@ -1,7 +1,5 @@
 package de.ozgcloud.eingang.fim;
 
-import de.ozgcloud.eingang.fim.adapter.FimSchemeAdapter;
-
 import java.util.LinkedHashMap;
 class FimSchemeAdapterCatalogue extends LinkedHashMap<FimSchemeIdentifier, FimSchemeAdapter> {
 }
diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java
index 144f6615d2ba3a00aec0d3937cdedeabfa831632..b451d9521385ee1b133d5fe098be89e29e6c8333 100644
--- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java
+++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java
@@ -1,7 +1,6 @@
 package de.ozgcloud.eingang.fim;
 
 import de.ozgcloud.eingang.common.formdata.FormData;
-import de.ozgcloud.eingang.fim.adapter.FimSchemeAdapter;
 import io.micrometer.common.util.StringUtils;
 import jakarta.annotation.PostConstruct;
 import lombok.extern.log4j.Log4j2;
@@ -24,7 +23,7 @@ public class FimService {
     public static final String UNKNOWN_SCHEME_NAME = "unknown";
 
     @Autowired
-    private FimConfig fimConfig;
+    private FimProperties fimProperties;
 
     @Autowired
     private FimDataMapper fimDataMapper;
@@ -45,7 +44,7 @@ public class FimService {
         for (final FimSchemeAdapter fimSchemeAdapter : fimSchemeAdapters) {
             fimSchemeAdapterCatalogue.put(fimSchemeAdapter.forIdentifier(), fimSchemeAdapter);
         }
-        for (final String fimSchemaLocation : fimConfig.getSchemeLocations()) {
+        for (final String fimSchemaLocation : fimProperties.getSchemeLocations()) {
             final FimScheme fimScheme = loadFimScheme(fimSchemaLocation.trim());
             fimSchemeCatalogue.put(fimScheme.getIdentifier(), fimScheme);
         }
diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/UnknownSchemeAdapter.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/UnknownSchemeAdapter.java
similarity index 78%
rename from fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/UnknownSchemeAdapter.java
rename to fim-adapter/src/main/java/de/ozgcloud/eingang/fim/UnknownSchemeAdapter.java
index a4539ef08bc399e044453a00ff14f025bda45cdd..5015cc5a73da51364f23adf013b7a8ef266c333f 100644
--- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/UnknownSchemeAdapter.java
+++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/UnknownSchemeAdapter.java
@@ -1,7 +1,5 @@
-package de.ozgcloud.eingang.fim.adapter;
+package de.ozgcloud.eingang.fim;
 
-import de.ozgcloud.eingang.fim.FimSchemeIdentifier;
-import de.ozgcloud.eingang.fim.FimService;
 import org.springframework.stereotype.Service;
 import org.w3c.dom.Element;
 
diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/ZustaendigeStelleExtractor.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/ZustaendigeStelleExtractor.java
similarity index 84%
rename from fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/ZustaendigeStelleExtractor.java
rename to fim-adapter/src/main/java/de/ozgcloud/eingang/fim/ZustaendigeStelleExtractor.java
index e8d3446afecba810c6af91c7e6018f2b517ce343..a77d159562ec8bf49d40025ff7b9c96bfc722b6b 100644
--- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/ZustaendigeStelleExtractor.java
+++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/ZustaendigeStelleExtractor.java
@@ -1,4 +1,4 @@
-package de.ozgcloud.eingang.fim.adapter;
+package de.ozgcloud.eingang.fim;
 
 import de.ozgcloud.eingang.common.formdata.FormData;
 
diff --git a/fim-adapter/src/test/java/de/ozgcloud/eingang/fim/TestNonStandardAdapter.java b/fim-adapter/src/test/java/de/ozgcloud/eingang/fim/TestNonStandardAdapter.java
index c2da20f9151e8570a9bc042e7cd0b1e17e18d7bb..76b10a4ca043b8c31e834a9ea57f45cf6074fa95 100644
--- a/fim-adapter/src/test/java/de/ozgcloud/eingang/fim/TestNonStandardAdapter.java
+++ b/fim-adapter/src/test/java/de/ozgcloud/eingang/fim/TestNonStandardAdapter.java
@@ -1,6 +1,5 @@
 package de.ozgcloud.eingang.fim;
 
-import de.ozgcloud.eingang.fim.adapter.FimSchemeAdapter;
 import org.springframework.stereotype.Service;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;