diff --git a/src/main/java/de/ozgcloud/aggregation/transformation/AggregationMapping.java b/src/main/java/de/ozgcloud/aggregation/transformation/AggregationMapping.java
index d98c2350ef04f3920dc8d30f8ea4100236991d65..a6bceee0d0ad3d227ea44d58efdeeabbc67a4b40 100644
--- a/src/main/java/de/ozgcloud/aggregation/transformation/AggregationMapping.java
+++ b/src/main/java/de/ozgcloud/aggregation/transformation/AggregationMapping.java
@@ -36,6 +36,7 @@ import lombok.ToString;
 public class AggregationMapping {
 
 	private FormIdentifier formIdentifier;
+	private String name;
 
 	@Singular
 	private List<FieldMapping> fieldMappings;
diff --git a/src/main/java/de/ozgcloud/aggregation/warehouse/CustomWarehouseRepository.java b/src/main/java/de/ozgcloud/aggregation/warehouse/CustomWarehouseRepository.java
new file mode 100644
index 0000000000000000000000000000000000000000..da72066a636fd55fa9db24336b81ad6aec241a7f
--- /dev/null
+++ b/src/main/java/de/ozgcloud/aggregation/warehouse/CustomWarehouseRepository.java
@@ -0,0 +1,8 @@
+package de.ozgcloud.aggregation.warehouse;
+
+interface CustomWarehouseRepository {
+
+	DocumentEntry saveInCollection(DocumentEntry documentEntry, String collectionName);
+
+	void deleteCollection(String collectionName);
+}
diff --git a/src/main/java/de/ozgcloud/aggregation/warehouse/CustomWarehouseRepositoryImpl.java b/src/main/java/de/ozgcloud/aggregation/warehouse/CustomWarehouseRepositoryImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..6e331b6781dfcd5183f85d5b2d8f255c01d8dddc
--- /dev/null
+++ b/src/main/java/de/ozgcloud/aggregation/warehouse/CustomWarehouseRepositoryImpl.java
@@ -0,0 +1,22 @@
+package de.ozgcloud.aggregation.warehouse;
+
+import org.springframework.data.mongodb.core.MongoTemplate;
+
+import lombok.RequiredArgsConstructor;
+
+@RequiredArgsConstructor
+class CustomWarehouseRepositoryImpl implements CustomWarehouseRepository {
+
+	private final MongoTemplate mongoTemplate;
+
+	@Override
+	public DocumentEntry saveInCollection(DocumentEntry documentEntry, String collectionName) {
+		return mongoTemplate.save(documentEntry, collectionName);
+	}
+
+	@Override
+	public void deleteCollection(String collectionName) {
+		mongoTemplate.dropCollection(collectionName);
+	}
+
+}
diff --git a/src/main/java/de/ozgcloud/aggregation/warehouse/WarehouseRepository.java b/src/main/java/de/ozgcloud/aggregation/warehouse/WarehouseRepository.java
index f8bef952cdeeda6c19e7df8f928932f002a2ecbd..d100e47d538c011d225e00b3956330b68ab94d70 100644
--- a/src/main/java/de/ozgcloud/aggregation/warehouse/WarehouseRepository.java
+++ b/src/main/java/de/ozgcloud/aggregation/warehouse/WarehouseRepository.java
@@ -27,6 +27,6 @@ import org.springframework.data.mongodb.repository.MongoRepository;
 import org.springframework.stereotype.Repository;
 
 @Repository
-public interface WarehouseRepository extends MongoRepository<DocumentEntry, String> {
+public interface WarehouseRepository extends CustomWarehouseRepository, MongoRepository<DocumentEntry, String> {
 
 }
diff --git a/src/test/java/de/ozgcloud/aggregation/warehouse/CustomWarehouseRepositoryImplTest.java b/src/test/java/de/ozgcloud/aggregation/warehouse/CustomWarehouseRepositoryImplTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..c7973307c588cc0cb9a0236ddb048c23e9558346
--- /dev/null
+++ b/src/test/java/de/ozgcloud/aggregation/warehouse/CustomWarehouseRepositoryImplTest.java
@@ -0,0 +1,58 @@
+package de.ozgcloud.aggregation.warehouse;
+
+import static org.assertj.core.api.Assertions.*;
+import static org.mockito.Mockito.*;
+
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.springframework.data.mongodb.core.MongoTemplate;
+
+import com.thedeanda.lorem.LoremIpsum;
+
+class CustomWarehouseRepositoryImplTest {
+
+	@InjectMocks
+	private CustomWarehouseRepositoryImpl repository;
+
+	@Mock
+	private MongoTemplate mongoTemplate;
+
+	@Nested
+	class TestSaveInCollection {
+
+		private final DocumentEntry documentEntry = DocumentEntryTestFactory.create();
+		private final String collectionName = LoremIpsum.getInstance().getWords(1);
+
+		@Test
+		void testSaveInCollection() {
+			repository.saveInCollection(documentEntry, collectionName);
+
+			verify(mongoTemplate).save(documentEntry, collectionName);
+		}
+
+		@Test
+		void shouldReturnSavedDocumentEntry() {
+			var savedDocumentEntry = DocumentEntryTestFactory.create();
+			when(mongoTemplate.save(documentEntry, collectionName)).thenReturn(savedDocumentEntry);
+
+			var returnedDocumentEntry = repository.saveInCollection(documentEntry, collectionName);
+
+			assertThat(returnedDocumentEntry).isEqualTo(savedDocumentEntry);
+		}
+	}
+
+	@Nested
+	class TestDeleteCollection {
+
+		private final String collectionName = LoremIpsum.getInstance().getWords(1);
+
+		@Test
+		void shouldDropCollection() {
+			repository.deleteCollection(collectionName);
+
+			verify(mongoTemplate).dropCollection(collectionName);
+		}
+	}
+}