diff --git a/Jenkinsfile b/Jenkinsfile
index dc5515e00235effd7deda373790fd043dd5a3a28..eb71dcd5841ca8084d4d91e58ce0188110fbd7f1 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -8,7 +8,7 @@ pipeline {
     }
 
     environment {
-        BLUE_OCEAN_URL = "https://jenkins.infra.ozg-cloud.systems/job/kop-common/job/${env.BRANCH_NAME}/${env.BUILD_NUMBER}/"
+        BLUE_OCEAN_URL = "https://jenkins.infra.ozg-cloud.systems/job/ozgcloud-common/job/${env.BRANCH_NAME}/${env.BUILD_NUMBER}/"
         RELEASE_REGEX = /\d+.\d+.\d+/
         SNAPSHOT_REGEX = /\d+.\d+.\d+-SNAPSHOT/
     }
@@ -27,10 +27,10 @@ pipeline {
                     def rootPom = readMavenPom file: 'pom.xml'
                     def rootVersion = rootPom.version
                     
-                    def dependenciesPom = readMavenPom file: 'kop-common-dependencies/pom.xml'
+                    def dependenciesPom = readMavenPom file: 'ozgcloud-common-dependencies/pom.xml'
                     def dependenciesVersion = dependenciesPom.parent.version
                     
-                    def parentPom = readMavenPom file: 'kop-common-parent/pom.xml'
+                    def parentPom = readMavenPom file: 'ozgcloud-common-parent/pom.xml'
                     def parentVersion = parentPom.version
 
                     if(env.BRANCH_NAME == 'release'){
@@ -49,12 +49,12 @@ pipeline {
                 }
             }
         }*/
-        stage('Build Kop-Common Dependencies') {
+        stage('Build OzgCloud-Common Dependencies') {
              steps {
                 script {
                     FAILED_STAGE=env.STAGE_NAME
                 }
-           		dir('kop-common-dependencies') {
+           		dir('ozgcloud-common-dependencies') {
                   	configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) {
                        	sh 'mvn --version'
                        	sh 'mvn -s $MAVEN_SETTINGS clean install'
@@ -64,7 +64,7 @@ pipeline {
         }
 
         
-        stage('Build Kop-Common') {
+        stage('Build OzgCloud-Common') {
             steps {
                 script {
                     FAILED_STAGE=env.STAGE_NAME
@@ -74,7 +74,7 @@ pipeline {
                     sh 'mvn -s $MAVEN_SETTINGS clean install'
 
 	                script {
-	              	    dir('kop-common-lib') {
+	              	    dir('ozgcloud-common-lib') {
 	                    	try {
 	                            if (env.BRANCH_NAME == 'master') {
 	                                withSonarQubeEnv('sonarqube-ozg-sh'){
@@ -90,11 +90,13 @@ pipeline {
             }
          }
 
-        stage('Deploy Kop-Common to Nexus'){
+        stage('Deploy OzgCloud-Common to Nexus'){
             when {
                 anyOf {
                     branch 'master'
                     branch 'release'
+                    branch 'version-2'
+                    branch 'release-v2'
                 }
             }
             steps {
@@ -121,9 +123,9 @@ pipeline {
 Void sendFailureMessage() {
     def room = ''
     def data = """{"msgtype":"m.text", \
-                    "body":"kop-common: Build Failed. Stage: ${FAILED_STAGE} Build-ID: ${env.BUILD_NUMBER} Link: ${BLUE_OCEAN_URL}", \
+                    "body":"ozgcloud-common: Build Failed. Stage: ${FAILED_STAGE} Build-ID: ${env.BUILD_NUMBER} Link: ${BLUE_OCEAN_URL}", \
                     "format": "org.matrix.custom.html", \
-                    "formatted_body":"kop-common: Build Failed. Stage: ${FAILED_STAGE} Build-ID: <a href='${BLUE_OCEAN_URL}'>${env.BUILD_NUMBER}</a>"}"""
+                    "formatted_body":"ozgcloud-common: Build Failed. Stage: ${FAILED_STAGE} Build-ID: <a href='${BLUE_OCEAN_URL}'>${env.BUILD_NUMBER}</a>"}"""
        
     if (env.BRANCH_NAME == 'master') {
         room = "!iQPAvQIiRwRpNOszjw:matrix.ozg-sh.de"
diff --git a/kop-common-dependencies/pom.xml b/ozgcloud-common-dependencies/pom.xml
similarity index 67%
rename from kop-common-dependencies/pom.xml
rename to ozgcloud-common-dependencies/pom.xml
index 94bba2b030c6705658b806bec62f9c80a60809fb..9f827e3cf8e0ab57900f74d5ac46d5bd078976da 100644
--- a/kop-common-dependencies/pom.xml
+++ b/ozgcloud-common-dependencies/pom.xml
@@ -23,60 +23,62 @@
     unter der Lizenz sind dem Lizenztext zu entnehmen.
 
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 
 	<parent>
-		<groupId>de.itvsh.kop.common</groupId>
-		<artifactId>kop-common</artifactId>
-		<version>1.10.0-SNAPSHOT</version>
+		<groupId>de.ozgcloud.common</groupId>
+		<artifactId>ozgcloud-common</artifactId>
+		<version>3.0.0-SNAPSHOT</version>
 	</parent>
 
-	<artifactId>kop-common-dependencies</artifactId>
-	<name>Kop Common - Dependencies</name>
+	<artifactId>ozgcloud-common-dependencies</artifactId>
+	<name>OzgCloud Common - Dependencies</name>
 	<packaging>pom</packaging>
-	<description>Dependenencies management for kop projects</description>
+	<description>Dependenencies management for ozgcloud projects</description>
 
 	<properties>
-		<pluto.version>1.14.0</pluto.version>
+		<vorgang-manager.version>2.0.0-SNAPSHOT</vorgang-manager.version>
 		<license.version>1.8.0</license.version>
 
 		<java.version>17</java.version>
-		<maven.compiler.source>${java.version}</maven.compiler.source>
-		<maven.compiler.target>${java.version}</maven.compiler.target>
+		<maven.compiler.source>17</maven.compiler.source>
+		<maven.compiler.target>17</maven.compiler.target>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
-		<spring-boot.version>2.7.16</spring-boot.version>
-		<spring.version>5.3.30</spring.version>
+		<spring-boot.version>3.1.6</spring-boot.version>
+		<spring.version>6.0.14</spring.version>
+
+		<grpc.spring-boot-starter.version>5.0.0</grpc.spring-boot-starter.version>
+
+		<net.devh.grpc.spring-boot-server-starter.version>2.14.0.RELEASE</net.devh.grpc.spring-boot-server-starter.version>
+		<net.devh.grpc.spring-boot-client-starter.version>2.14.0.RELEASE</net.devh.grpc.spring-boot-client-starter.version>
+		<grpc.version>1.59.0</grpc.version>
+
 
-		<grpc.spring-boot-starter.version>2.14.0.RELEASE</grpc.spring-boot-starter.version>
-		<grpc.version>1.57.2</grpc.version>
 		<protoc-jar-plugin.version>3.11.4</protoc-jar-plugin.version>
-		<protobuf.version>3.24.1</protobuf.version>
-		<protoc-gen.version>1.57.2</protoc-gen.version>
+
+		<protobuf.version>3.25.1</protobuf.version>
+		<protoc-gen.version>1.59.0</protoc-gen.version>
 
 		<mapstruct.version>1.5.5.Final</mapstruct.version>
-		<commons-io.version>2.13.0</commons-io.version>
+		<commons-io.version>2.15.0</commons-io.version>
 		<commons-beanutils.version>1.9.4</commons-beanutils.version>
-		<commons-lang3.version>3.12.0</commons-lang3.version>
+		<commons-lang3.version>3.14.0</commons-lang3.version>
 		<commons-collections.version>4.4</commons-collections.version>
 
 		<java-jwt.version>4.4.0</java-jwt.version>
-		<jjwt.version>0.11.5</jjwt.version>
+		<jjwt.version>0.12.3</jjwt.version>
 
-<!--TODO update - welche version verwendet ops -->
-		<keycloak-adapter.version>18.0.0</keycloak-adapter.version>
-		<keycloak-spring-boot-starter.version>18.0.0</keycloak-spring-boot-starter.version>
 		<jakarta.version>2.1.0</jakarta.version>
 
-		<quarkus.platform.version>2.16.9.Final</quarkus.platform.version>
+		<quarkus.platform.version>3.5.3</quarkus.platform.version>
 
 		<!-- Test -->
 		<lorem.version>2.1</lorem.version>
 		<faker.version>1.0.2</faker.version>
-		
-		<!--overriden to fix security issue CVE-2022-1471 -->
-		<snakeyaml.version>2.0</snakeyaml.version>
 	</properties>
 
 	<dependencyManagement>
@@ -92,43 +94,43 @@
 
 			<!-- own projects -->
 			<dependency>
-				<groupId>de.itvsh.kop.common</groupId>
-				<artifactId>kop-common-lib</artifactId>
-				<version>${kop-common.version}</version>
+				<groupId>de.ozgcloud.common</groupId>
+				<artifactId>ozgcloud-common-lib</artifactId>
+				<version>${ozgcloud-common.version}</version>
 			</dependency>
 			<dependency>
-				<groupId>de.itvsh.kop.common</groupId>
-				<artifactId>kop-common-test</artifactId>
-				<version>${kop-common.version}</version>
+				<groupId>de.ozgcloud.common</groupId>
+				<artifactId>ozgcloud-common-test</artifactId>
+				<version>${ozgcloud-common.version}</version>
 				<scope>test</scope>
 			</dependency>
 			<dependency>
-				<groupId>de.itvsh.kop.common</groupId>
-				<artifactId>kop-common-license</artifactId>
+				<groupId>de.ozgcloud.common</groupId>
+				<artifactId>ozgcloud-common-license</artifactId>
 				<version>${license.version}</version>
 			</dependency>
 
 			<dependency>
-				<groupId>de.itvsh.ozg.pluto</groupId>
-				<artifactId>pluto-interface</artifactId>
-				<version>${pluto.version}</version>
+				<groupId>de.ozgcloud.vorgang-manager</groupId>
+				<artifactId>vorgang-manager-interface</artifactId>
+				<version>${vorgang-manager.version}</version>
 			</dependency>
 			<dependency>
-				<groupId>de.itvsh.ozg.pluto</groupId>
-				<artifactId>pluto-utils</artifactId>
-				<version>${pluto.version}</version>
+				<groupId>de.ozgcloud.vorgang-manager</groupId>
+				<artifactId>vorgang-manager-utils</artifactId>
+				<version>${vorgang-manager.version}</version>
 			</dependency>
 			<dependency>
-				<groupId>de.itvsh.ozg.pluto</groupId>
-				<artifactId>pluto-utils</artifactId>
+				<groupId>de.ozgcloud.vorgang-manager</groupId>
+				<artifactId>vorgang-manager-utils</artifactId>
 				<type>test-jar</type>
-				<version>${pluto.version}</version>
+				<version>${vorgang-manager.version}</version>
 				<scope>test</scope>
 			</dependency>
 			<dependency>
-				<groupId>de.itvsh.ozg.pluto</groupId>
-				<artifactId>pluto-command</artifactId>
-				<version>${pluto.version}</version>
+				<groupId>de.ozgcloud.vorgang-manager</groupId>
+				<artifactId>vorgang-manager-command</artifactId>
+				<version>${vorgang-manager.version}</version>
 			</dependency>
 
 			<!-- spring -->
@@ -169,15 +171,26 @@
 
 			<!-- grpc -->
 			<dependency>
-				<groupId>net.devh</groupId>
+				<groupId>io.github.lognet</groupId>
+				<artifactId>grpc-spring-boot-starter</artifactId>
+				<version>${grpc.spring-boot-starter.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>io.github.lognet</groupId>
 				<artifactId>grpc-client-spring-boot-starter</artifactId>
 				<version>${grpc.spring-boot-starter.version}</version>
 			</dependency>
+			<dependency>
+				<groupId>net.devh</groupId>
+				<artifactId>grpc-client-spring-boot-starter</artifactId>
+				<version>${net.devh.grpc.spring-boot-client-starter.version}</version>
+			</dependency>
 			<dependency>
 				<groupId>net.devh</groupId>
 				<artifactId>grpc-server-spring-boot-starter</artifactId>
-				<version>${grpc.spring-boot-starter.version}</version>
+				<version>${net.devh.grpc.spring-boot-server-starter.version}</version>
 			</dependency>
+
 			<dependency>
 				<groupId>io.grpc</groupId>
 				<artifactId>grpc-stub</artifactId>
@@ -228,6 +241,17 @@
 				<artifactId>jjwt-api</artifactId>
 				<version>${jjwt.version}</version>
 			</dependency>
+			<dependency>
+				<groupId>io.jsonwebtoken</groupId>
+				<artifactId>jjwt-impl</artifactId>
+				<version>${jjwt.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>io.jsonwebtoken</groupId>
+				<artifactId>jjwt-jackson</artifactId>
+				<version>${jjwt.version}</version>
+				<scope>runtime</scope>
+			</dependency>
 			<!-- TODO legacy - pleace remove -->
 			<dependency>
 				<groupId>io.jsonwebtoken</groupId>
@@ -283,5 +307,12 @@
 			<url>https://nexus.ozg-sh.de/repository/ozg-snapshots/</url>
 		</snapshotRepository>
 	</distributionManagement>
+	<dependencies>
+		<dependency>
+			<groupId>org.glassfish.jaxb</groupId>
+			<artifactId>jaxb-runtime</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+	</dependencies>
 
 </project>
diff --git a/kop-common-lib/pom.xml b/ozgcloud-common-lib/pom.xml
similarity index 88%
rename from kop-common-lib/pom.xml
rename to ozgcloud-common-lib/pom.xml
index 97d9a9b66b332e254a4debfc30f15a8162513665..21e84c9b6e7afe8748a3da7689a5ea4324731376 100644
--- a/kop-common-lib/pom.xml
+++ b/ozgcloud-common-lib/pom.xml
@@ -28,27 +28,27 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>de.itvsh.kop.common</groupId>
-		<artifactId>kop-common</artifactId>
-		<version>1.10.0-SNAPSHOT</version>
+		<groupId>de.ozgcloud.common</groupId>
+		<artifactId>ozgcloud-common</artifactId>
+		<version>3.0.0-SNAPSHOT</version>
 	</parent>
 
-	<artifactId>kop-common-lib</artifactId>
-	<name>Kop Common - Shared Lib</name>
+	<artifactId>ozgcloud-common-lib</artifactId>
+	<name>OzgCloud Common - Shared Lib</name>
 
 	<properties>
 		<maven.compiler.source>17</maven.compiler.source>
 		<maven.compiler.target>17</maven.compiler.target>
-		<mockito.version>4.8.1</mockito.version>
+		<mockito.version>5.7.0</mockito.version>
 		
 	</properties>
 
 	<dependencyManagement>
 		<dependencies>
 			<dependency>
-				<groupId>de.itvsh.kop.common</groupId>
-				<artifactId>kop-common-dependencies</artifactId>
-				<version>${kop-common.version}</version>
+				<groupId>de.ozgcloud.common</groupId>
+				<artifactId>ozgcloud-common-dependencies</artifactId>
+				<version>${ozgcloud-common.version}</version>
 				<type>pom</type>
 				<scope>import</scope>
 			</dependency>
@@ -71,6 +71,11 @@
 			<groupId>org.springframework</groupId>
 			<artifactId>spring-context</artifactId>
 		</dependency>
+		<dependency>
+			<groupId>org.glassfish.jaxb</groupId>
+			<artifactId>jaxb-runtime</artifactId>
+			<scope>runtime</scope>
+		</dependency>
 		<!-- grpc -->
 		<dependency>
 			<groupId>io.grpc</groupId>
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/BinaryFileUploadStreamObserver.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/BinaryFileUploadStreamObserver.java
similarity index 91%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/BinaryFileUploadStreamObserver.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/BinaryFileUploadStreamObserver.java
index 26a62a2e7d8f88c30543457829538c818d3e6b2b..5d58d91becac1cb8181f99c6ec6699eb28ef1d22 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/BinaryFileUploadStreamObserver.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/BinaryFileUploadStreamObserver.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.binaryfile;
+package de.ozgcloud.common.binaryfile;
 
 import java.util.concurrent.CompletableFuture;
 
@@ -30,7 +30,9 @@ import io.grpc.stub.ClientResponseObserver;
 import lombok.AccessLevel;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
+import lombok.extern.log4j.Log4j2;
 
+@Log4j2
 @RequiredArgsConstructor(access = AccessLevel.PRIVATE)
 public class BinaryFileUploadStreamObserver<ReqT, R> implements ClientResponseObserver<ReqT, R> {
 
@@ -56,11 +58,13 @@ public class BinaryFileUploadStreamObserver<ReqT, R> implements ClientResponseOb
 
 	@Override
 	public void onError(Throwable t) {
+		LOG.error("Error on uploading file. Completing Future.", t);
 		future.completeExceptionally(t);
 	}
 
 	@Override
 	public void onCompleted() {
+		LOG.debug("Complete future...");
 		future.complete(response);
 	}
 
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/FileDataDeserializer.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/FileDataDeserializer.java
similarity index 95%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/FileDataDeserializer.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/FileDataDeserializer.java
index 3b5405ff578ab23823efca4c165c51e44711c61e..19232b22173a96d5295f18f0c58a7f6f20a8297f 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/FileDataDeserializer.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/FileDataDeserializer.java
@@ -1,4 +1,4 @@
-package de.itvsh.kop.common.binaryfile;
+package de.ozgcloud.common.binaryfile;
 
 import java.io.File;
 import java.io.FileOutputStream;
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/FileId.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/FileId.java
similarity index 93%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/FileId.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/FileId.java
index a835af8f3dd36b41818e5433490bbaa0b7cf100c..e4a43113749a55afa4b1e3a5303388a23790d004 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/FileId.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/FileId.java
@@ -21,12 +21,12 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.binaryfile;
+package de.ozgcloud.common.binaryfile;
 
 import java.util.Objects;
 import java.util.UUID;
 
-import de.itvsh.kop.common.datatype.StringBasedValue;
+import de.ozgcloud.common.datatype.StringBasedValue;
 import lombok.EqualsAndHashCode;
 
 @EqualsAndHashCode(callSuper = true)
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtils.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/GrpcFileUploadUtils.java
similarity index 59%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtils.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/GrpcFileUploadUtils.java
index d8f82a7b7a6b5a55f4674aaa0801096719fc4419..276ccf3aeeb7f61b5c6bda33de677d3943797ec0 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtils.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/GrpcFileUploadUtils.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.binaryfile;
+package de.ozgcloud.common.binaryfile;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -29,36 +29,40 @@ import java.util.Objects;
 import java.util.Optional;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.function.BiFunction;
 import java.util.function.Function;
 
 import org.apache.commons.io.IOUtils;
 
-import de.itvsh.kop.common.errorhandling.TechnicalException;
+import de.ozgcloud.common.errorhandling.TechnicalException;
 import io.grpc.stub.CallStreamObserver;
 import io.grpc.stub.StreamObserver;
 import lombok.AccessLevel;
+import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.NonNull;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.log4j.Log4j2;
 
 @Log4j2
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public class GrpcFileUploadUtils {
 
-	static final int CHUNK_SIZE = 255 * 1024;
+	static final int CHUNK_SIZE = 4 * 1024;
 
 	/*
 	 * Q = Request Type; S = Response Type
 	 */
-	public static <Q, S> FileSender<Q, S> createSender(Function<byte[], Q> chunkBuilder, InputStream inputStream,
+	public static <Q, S> FileSender<Q, S> createSender(BiFunction<byte[], Integer, Q> chunkBuilder, InputStream inputStream,
 			Function<StreamObserver<S>, CallStreamObserver<Q>> reqObserverBuilder) {
 		return new FileSender<>(chunkBuilder, reqObserverBuilder, inputStream);
 	}
 
 	public static class FileSender<Q, S> {
-		private final Function<byte[], Q> chunkBuilder;
+		private final BiFunction<byte[], Integer, Q> chunkBuilder;
 		private final InputStream inputStream;
 
+		@Getter
 		private final CompletableFuture<S> resultFuture = new CompletableFuture<>();
 		private final Function<StreamObserver<S>, CallStreamObserver<Q>> reqObserverBuilder;
 		private CallStreamObserver<Q> requestObserver;
@@ -67,10 +71,15 @@ public class GrpcFileUploadUtils {
 		private final AtomicBoolean metaDataSent = new AtomicBoolean(false);
 		private final AtomicBoolean done = new AtomicBoolean(false);
 
-		FileSender(Function<byte[], Q> chunkBuilder, Function<StreamObserver<S>, CallStreamObserver<Q>> reqObserverBuilder, InputStream inputStream) {
+		private final StreamReader streamReader;
+
+		FileSender(BiFunction<byte[], Integer, Q> chunkBuilder, Function<StreamObserver<S>, CallStreamObserver<Q>> reqObserverBuilder,
+				InputStream inputStream) {
 			this.chunkBuilder = chunkBuilder;
-			this.inputStream = IOUtils.buffer(inputStream, CHUNK_SIZE);
+			this.inputStream = inputStream;
 			this.reqObserverBuilder = reqObserverBuilder;
+
+			this.streamReader = new StreamReader(this.inputStream);
 		}
 
 		public FileSender<Q, S> withMetaData(@NonNull Q metaData) {
@@ -78,24 +87,42 @@ public class GrpcFileUploadUtils {
 			return this;
 		}
 
-		public CompletableFuture<S> send() {
+		public FileSender<Q, S> send() {
 			LOG.debug("Start sending File.");
 			var responseObserver = BinaryFileUploadStreamObserver.create(resultFuture, this::sendNext);
 			requestObserver = reqObserverBuilder.apply(responseObserver);
 
-			return resultFuture;
+			return this;
+		}
+
+		public void cancelOnTimeout() {
+			LOG.warn("File transfer canceled on timeout");
+			resultFuture.cancel(true);
+			requestObserver.onError(new TechnicalException("Timeout on waiting for upload."));
+		}
+
+		public void cancelOnError(Throwable t) {
+			LOG.error("File tranfer canceled on error.", t);
+			resultFuture.cancel(true);
+			requestObserver.onError(t);
 		}
 
 		void sendNext() {
 			if (!done.get()) {
 				waitForOberver();
-				LOG.debug("Sending next chunk.");
 				sendMetaData();
-				long sentSize = sendNextChunk();
-				checkForEndOfStream(sentSize);
+				do {
+					LOG.debug("Sending next chunk.");
+					sendNextChunk();
+				} while (!done.get() && isReady());
+				LOG.debug("Finished or waiting to become ready.");
 			}
 		}
 
+		private boolean isReady() {
+			return requestObserver.isReady();
+		}
+
 		private void waitForOberver() {
 			synchronized (this) {
 				while (Objects.isNull(requestObserver)) {
@@ -112,17 +139,27 @@ public class GrpcFileUploadUtils {
 		}
 
 		long sendNextChunk() {
-			byte[] contentToSend = readFromStream();
+			byte[] contentToSend = streamReader.getNextData();
 
-			if (contentToSend.length > 0) {
-				sendChunk(contentToSend);
+			if (streamReader.getLastReadSize() > 0) {
+				sendChunk(contentToSend, streamReader.getLastReadSize());
+			} else {
+				endTransfer();
 			}
 			return contentToSend.length;
 		}
 
-		void sendChunk(byte[] content) {
-			LOG.debug("Sending {} byte Data.", content.length);
-			var chunk = chunkBuilder.apply(content);
+		private void endTransfer() {
+			requestObserver.onCompleted();
+			done.set(true);
+			LOG.debug("File Transfer done. Closing stream.");
+			IOUtils.closeQuietly(inputStream);
+			streamReader.close();
+		}
+
+		void sendChunk(byte[] content, int length) {
+			LOG.debug("Sending {} byte Data.", length);
+			var chunk = chunkBuilder.apply(content, length);
 			requestObserver.onNext(chunk);
 		}
 
@@ -150,7 +187,35 @@ public class GrpcFileUploadUtils {
 				IOUtils.closeQuietly(inputStream);
 				requestObserver.onCompleted();
 				done.set(true);
-				IOUtils.closeQuietly(inputStream);
+			} else {
+				LOG.debug("File Transfer not jet done - need to tranfer another chunk.");
+			}
+		}
+
+		@RequiredArgsConstructor
+		private class StreamReader {
+			private final InputStream inStream;
+			private final byte[] buffer = new byte[CHUNK_SIZE];
+			@Getter
+			private int lastReadSize = 0;
+			@Getter
+			private final AtomicBoolean done = new AtomicBoolean(false);
+
+			byte[] getNextData() {
+				readNext();
+				return buffer;
+			}
+
+			void close() {
+				IOUtils.closeQuietly(inStream);
+			}
+
+			void readNext() {
+				try {
+					lastReadSize = inStream.read(buffer, 0, CHUNK_SIZE);
+				} catch (IOException e) {
+					throw new TechnicalException("Error on reading a single chunk", e);
+				}
 			}
 		}
 	}
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/TempFileUtils.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/TempFileUtils.java
similarity index 94%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/TempFileUtils.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/TempFileUtils.java
index d68ee7f708b29fe81cf1d455a8df01ec3562fe61..49e3039d1c15b20eacfb3112d046fedec759f0de 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/TempFileUtils.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/binaryfile/TempFileUtils.java
@@ -1,4 +1,4 @@
-package de.itvsh.kop.common.binaryfile;
+package de.ozgcloud.common.binaryfile;
 
 import java.io.File;
 import java.io.FileWriter;
@@ -10,7 +10,7 @@ import java.nio.file.StandardCopyOption;
 
 import org.apache.commons.io.FileUtils;
 
-import de.itvsh.kop.common.errorhandling.TechnicalException;
+import de.ozgcloud.common.errorhandling.TechnicalException;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/datatype/StringBasedValue.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/datatype/StringBasedValue.java
similarity index 97%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/datatype/StringBasedValue.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/datatype/StringBasedValue.java
index 337c46daaad7a4362aee05b8aa664b961f694766..0dae54e0b1689fb6cfbcac21ff3fcd52cb6deac9 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/datatype/StringBasedValue.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/datatype/StringBasedValue.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.datatype;
+package de.ozgcloud.common.datatype;
 
 import java.io.Serializable;
 
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/errorhandling/ExceptionUtil.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/errorhandling/ExceptionUtil.java
similarity index 96%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/errorhandling/ExceptionUtil.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/errorhandling/ExceptionUtil.java
index 4a96957772d60ce8e7892f31962ca1afdc831089..21b86fcc6b74d6b242021499638b12d966a238c0 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/errorhandling/ExceptionUtil.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/errorhandling/ExceptionUtil.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.errorhandling;
+package de.ozgcloud.common.errorhandling;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/errorhandling/FunctionalErrorCode.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/errorhandling/FunctionalErrorCode.java
similarity index 96%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/errorhandling/FunctionalErrorCode.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/errorhandling/FunctionalErrorCode.java
index a9c2d478af739f3f6505573107c5923f1635dc06..327890a49a2238201f5989d25bf44e72fec319a9 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/errorhandling/FunctionalErrorCode.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/errorhandling/FunctionalErrorCode.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.errorhandling;
+package de.ozgcloud.common.errorhandling;
 
 import java.io.Serializable;
 
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/errorhandling/IdentifiableException.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/errorhandling/IdentifiableException.java
similarity index 96%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/errorhandling/IdentifiableException.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/errorhandling/IdentifiableException.java
index 774dc68c7a1f626f5115dc949712dad346ff8f26..955d09c22026046e3c364ffa468e279e43f7ee75 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/errorhandling/IdentifiableException.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/errorhandling/IdentifiableException.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.errorhandling;
+package de.ozgcloud.common.errorhandling;
 
 public interface IdentifiableException {
 
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/errorhandling/TechnicalException.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/errorhandling/TechnicalException.java
similarity index 97%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/errorhandling/TechnicalException.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/errorhandling/TechnicalException.java
index 9c99d9b9fdde4e4626708a4a6a4240fcc7ba3676..bbe249f9dcd6a69c649c4ead0c306f30a2c9f32e 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/errorhandling/TechnicalException.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/errorhandling/TechnicalException.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.errorhandling;
+package de.ozgcloud.common.errorhandling;
 
 import java.util.UUID;
 
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/grpc/GrpcUtil.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/grpc/GrpcUtil.java
similarity index 98%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/grpc/GrpcUtil.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/grpc/GrpcUtil.java
index 2348cc209229a09ed9a8aa00000ea18db71a82f1..837309318ef9f4fd230841f2feba7ff30a680569 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/grpc/GrpcUtil.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/grpc/GrpcUtil.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.grpc;
+package de.ozgcloud.common.grpc;
 
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/logging/AspectLoggingUtils.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/AspectLoggingUtils.java
similarity index 92%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/logging/AspectLoggingUtils.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/AspectLoggingUtils.java
index 53d0fa361697fff4da5e24f38c73fca5e3ddf214..c9b8364c7137dc0c4b8838a39b5fab98ae3728af 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/logging/AspectLoggingUtils.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/AspectLoggingUtils.java
@@ -21,15 +21,16 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.logging;
+package de.ozgcloud.common.logging;
 
-import de.itvsh.kop.common.logging.logger.AspectLogger;
-import de.itvsh.kop.common.logging.logger.InterceptingLogger;
 import jakarta.interceptor.InvocationContext;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.aspectj.lang.JoinPoint;
 
+import de.ozgcloud.common.logging.logger.AspectLogger;
+import de.ozgcloud.common.logging.logger.InterceptingLogger;
+
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public class AspectLoggingUtils {
 
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/logging/AspectPointcuts.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/AspectPointcuts.java
similarity index 82%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/logging/AspectPointcuts.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/AspectPointcuts.java
index 4bf8694284277d1d43d12ac36ca78f4fec6b1295..aacdc438882026d711d7a4f7ef685970cecfa337 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/logging/AspectPointcuts.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/AspectPointcuts.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.logging;
+package de.ozgcloud.common.logging;
 
 import org.aspectj.lang.annotation.Pointcut;
 
@@ -32,17 +32,17 @@ public class AspectPointcuts {
 		// aspect pointcut - no implementation needed
 	}
 
-	@Pointcut("within(de.itvsh..*)")
-	void anythingInKOP() {
+	@Pointcut("within(de.ozgcloud..*)")
+	void anythingInOzgCloud() {
 		// aspect pointcut - no implementation needed
 	}
 
-	@Pointcut("anyPublicMethods() && anythingInKOP()")
-	void anyPublicMethodInKOP() {
+	@Pointcut("anyPublicMethods() && anythingInOzgCloud()")
+	void anyPublicMethodInOzgCloud() {
 		// aspect pointcut - no implementation needed
 	}
 
-	@Pointcut("anyPublicMethodInKOP() && @target(org.springframework.stereotype.Service)")
+	@Pointcut("anyPublicMethodInOzgCloud() && @target(org.springframework.stereotype.Service)")
 	void anyPublicServiceMethod() {
 		// aspect pointcut - no implementation needed
 	}
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/logging/KopLogging.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/OzgCloudLogging.java
similarity index 94%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/logging/KopLogging.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/OzgCloudLogging.java
index 685b0e4c84a30628bd07a73ad1c298d651bc3331..9895370fd512193adfa4e5067ef90d8e3c8a08d3 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/logging/KopLogging.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/OzgCloudLogging.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.logging;
+package de.ozgcloud.common.logging;
 
 import jakarta.interceptor.InterceptorBinding;
 
@@ -36,6 +36,6 @@ import static java.lang.annotation.RetentionPolicy.*;
 @Retention(RUNTIME)
 @Documented
 @InterceptorBinding
-public @interface KopLogging {
+public @interface OzgCloudLogging {
 
 }
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/logging/KopLoggingAspect.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/OzgCloudLoggingAspect.java
similarity index 94%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/logging/KopLoggingAspect.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/OzgCloudLoggingAspect.java
index eef0028f40216bdb7420538cc0dba98116ffe361..fbf298a8ebc55f910b440b92ae67d7af0f184c86 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/logging/KopLoggingAspect.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/OzgCloudLoggingAspect.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.logging;
+package de.ozgcloud.common.logging;
 
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.AfterReturning;
@@ -32,7 +32,7 @@ import org.springframework.stereotype.Component;
 
 @Aspect
 @Component
-public class KopLoggingAspect extends AspectPointcuts {
+public class OzgCloudLoggingAspect extends AspectPointcuts {
 
 	@Before("anyPublicServiceMethod()")
 	public void onServiceMethod(JoinPoint joinPoint) {
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/logging/KopLoggingInterceptor.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/OzgCloudLoggingInterceptor.java
similarity index 94%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/logging/KopLoggingInterceptor.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/OzgCloudLoggingInterceptor.java
index 7c665d67e9bc3c87964096fd682b1ab8a11ad5e5..84a93c6bfecf7c7907a3b571650b18f274d9b70c 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/logging/KopLoggingInterceptor.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/OzgCloudLoggingInterceptor.java
@@ -21,17 +21,17 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.logging;
+package de.ozgcloud.common.logging;
 
 import jakarta.annotation.Priority;
 import jakarta.interceptor.AroundInvoke;
 import jakarta.interceptor.Interceptor;
 import jakarta.interceptor.InvocationContext;
 
-@KopLogging
+@OzgCloudLogging
 @Priority(10)
 @Interceptor
-public class KopLoggingInterceptor {
+public class OzgCloudLoggingInterceptor {
 
 	@AroundInvoke
 	Object logging(InvocationContext context) throws Exception {
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/logging/logger/AspectLogger.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/AspectLogger.java
similarity index 97%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/logging/logger/AspectLogger.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/AspectLogger.java
index e1cc4b6a2adecbc1ad4c56c3dafce7b73dfa3202..1f060fd284cbc04298c02a8b3b44ea72d29c51fc 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/logging/logger/AspectLogger.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/AspectLogger.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.logging.logger;
+package de.ozgcloud.common.logging.logger;
 
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.reflect.MethodSignature;
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/logging/logger/CommonLogger.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/CommonLogger.java
similarity index 96%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/logging/logger/CommonLogger.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/CommonLogger.java
index 8e72530b179687a355424ebd379e7887ffdc8ac5..b6c65d5b1baa03de3a90ec49f97eed8dbcc564c8 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/logging/logger/CommonLogger.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/CommonLogger.java
@@ -21,17 +21,18 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.logging.logger;
+package de.ozgcloud.common.logging.logger;
+
+import java.util.Collection;
+import java.util.StringJoiner;
 
-import de.itvsh.kop.common.datatype.StringBasedValue;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.ArrayUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.Collection;
-import java.util.StringJoiner;
+import de.ozgcloud.common.datatype.StringBasedValue;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.log4j.Log4j2;
 
 @RequiredArgsConstructor
 @Log4j2
@@ -136,7 +137,7 @@ abstract class CommonLogger<T> {
 		var sb = new StringBuilder();
 		sb.append("<").append(value.getClass().getSimpleName());
 		if (value.getClass().isArray()) {
-			sb.insert(sb.length()-1, ArrayUtils.getLength(value));
+			sb.insert(sb.length() - 1, ArrayUtils.getLength(value));
 		}
 		sb.append(">");
 		return sb.toString();
diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/logging/logger/InterceptingLogger.java b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/InterceptingLogger.java
similarity index 97%
rename from kop-common-lib/src/main/java/de/itvsh/kop/common/logging/logger/InterceptingLogger.java
rename to ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/InterceptingLogger.java
index 90c2431712a5f23f3f8ec53c3226f721497bbc7c..349866f276437b4fb47d42e6cd9efa02ec014a0e 100644
--- a/kop-common-lib/src/main/java/de/itvsh/kop/common/logging/logger/InterceptingLogger.java
+++ b/ozgcloud-common-lib/src/main/java/de/ozgcloud/common/logging/logger/InterceptingLogger.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.logging.logger;
+package de.ozgcloud.common.logging.logger;
 
 import jakarta.interceptor.InvocationContext;
 
diff --git a/kop-common-lib/src/main/resources/log4j2-local.xml b/ozgcloud-common-lib/src/main/resources/log4j2-local.xml
similarity index 100%
rename from kop-common-lib/src/main/resources/log4j2-local.xml
rename to ozgcloud-common-lib/src/main/resources/log4j2-local.xml
diff --git a/kop-common-lib/src/main/resources/log4j2.xml b/ozgcloud-common-lib/src/main/resources/log4j2.xml
similarity index 100%
rename from kop-common-lib/src/main/resources/log4j2.xml
rename to ozgcloud-common-lib/src/main/resources/log4j2.xml
diff --git a/kop-common-lib/src/test/java/de/itvsh/kop/common/binaryfile/BinaryFileTestFactory.java b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/binaryfile/BinaryFileTestFactory.java
similarity index 96%
rename from kop-common-lib/src/test/java/de/itvsh/kop/common/binaryfile/BinaryFileTestFactory.java
rename to ozgcloud-common-lib/src/test/java/de/ozgcloud/common/binaryfile/BinaryFileTestFactory.java
index 0ba2cd4b0d05ae3a6ff6145f5d52eabc0da5570f..467922e510338bea67949ee52d67e278f1be4e60 100644
--- a/kop-common-lib/src/test/java/de/itvsh/kop/common/binaryfile/BinaryFileTestFactory.java
+++ b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/binaryfile/BinaryFileTestFactory.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.binaryfile;
+package de.ozgcloud.common.binaryfile;
 
 public class BinaryFileTestFactory {
 
diff --git a/kop-common-lib/src/test/java/de/itvsh/kop/common/binaryfile/BinaryFileUploadStreamObserverTest.java b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/binaryfile/BinaryFileUploadStreamObserverTest.java
similarity index 91%
rename from kop-common-lib/src/test/java/de/itvsh/kop/common/binaryfile/BinaryFileUploadStreamObserverTest.java
rename to ozgcloud-common-lib/src/test/java/de/ozgcloud/common/binaryfile/BinaryFileUploadStreamObserverTest.java
index 821d5150e5004d5437a358c9798b4dd455b16980..9fc13b47bb18a1bc78e477384e2744ebd3635265 100644
--- a/kop-common-lib/src/test/java/de/itvsh/kop/common/binaryfile/BinaryFileUploadStreamObserverTest.java
+++ b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/binaryfile/BinaryFileUploadStreamObserverTest.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.binaryfile;
+package de.ozgcloud.common.binaryfile;
 
 import static org.assertj.core.api.Assertions.*;
 import static org.mockito.Mockito.*;
@@ -33,8 +33,8 @@ import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 
-import de.itvsh.kop.common.binaryfile.BinaryFileTestFactory.TestRequestType;
-import de.itvsh.kop.common.binaryfile.BinaryFileTestFactory.TestResponseType;
+import de.ozgcloud.common.binaryfile.BinaryFileTestFactory.TestRequestType;
+import de.ozgcloud.common.binaryfile.BinaryFileTestFactory.TestResponseType;
 
 class BinaryFileUploadStreamObserverTest {
 
diff --git a/kop-common-lib/src/test/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtilsTest.java b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/binaryfile/GrpcFileUploadUtilsTest.java
similarity index 65%
rename from kop-common-lib/src/test/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtilsTest.java
rename to ozgcloud-common-lib/src/test/java/de/ozgcloud/common/binaryfile/GrpcFileUploadUtilsTest.java
index 4b4f907b23baf3b134f8d957c9afd2203cd89c0f..f856f933151abb53efc7158f1bc3540198df18b2 100644
--- a/kop-common-lib/src/test/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtilsTest.java
+++ b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/binaryfile/GrpcFileUploadUtilsTest.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.binaryfile;
+package de.ozgcloud.common.binaryfile;
 
 import static org.assertj.core.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.*;
@@ -29,31 +29,32 @@ import static org.mockito.Mockito.*;
 
 import java.io.IOException;
 import java.io.InputStream;
-import java.util.concurrent.CompletableFuture;
+import java.util.function.BiFunction;
 import java.util.function.Function;
 
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Captor;
+import org.mockito.InjectMocks;
 import org.mockito.Mock;
-import org.mockito.Spy;
 
-import de.itvsh.kop.common.binaryfile.BinaryFileTestFactory.TestRequestType;
-import de.itvsh.kop.common.binaryfile.BinaryFileTestFactory.TestResponseType;
-import de.itvsh.kop.common.binaryfile.GrpcFileUploadUtils.FileSender;
-import de.itvsh.kop.common.errorhandling.TechnicalException;
+import de.ozgcloud.common.binaryfile.BinaryFileTestFactory.TestRequestType;
+import de.ozgcloud.common.binaryfile.BinaryFileTestFactory.TestResponseType;
+import de.ozgcloud.common.binaryfile.GrpcFileUploadUtils.FileSender;
+import de.ozgcloud.common.errorhandling.TechnicalException;
 import io.grpc.stub.CallStreamObserver;
 import io.grpc.stub.StreamObserver;
 
 class GrpcFileUploadUtilsTest {
 
-	@Spy
+	@InjectMocks
 	private GrpcFileUploadUtils service;
 
 	@Mock
-	private Function<byte[], TestRequestType> chunkBuilder;
+	private BiFunction<byte[], Integer, TestRequestType> chunkBuilder;
 	@Mock
 	private Function<StreamObserver<TestResponseType>, CallStreamObserver<TestRequestType>> reqObserverBuilder;
 	@Mock
@@ -77,7 +78,7 @@ class GrpcFileUploadUtilsTest {
 
 		@Test
 		void shouldCreateRequestObserver() {
-			GrpcFileUploadUtils.createSender(chunkBuilder, inputStream, reqObserverBuilder);
+			GrpcFileUploadUtils.createSender(chunkBuilder, inputStream, reqObserverBuilder).send();
 
 			verify(reqObserverBuilder, atLeastOnce()).apply(notNull());
 		}
@@ -90,38 +91,20 @@ class GrpcFileUploadUtilsTest {
 		private ArgumentCaptor<Runnable> runnableCaptor;
 
 		@Test
-		void shouldSetOnReadyHandler() {
-			callService();
+		void shouldReturnSenderWithFuture() {
+			var result = fileSender.send();
 
-			verify(requestObserver).setOnReadyHandler(any());
-		}
-
-		@Test
-		void shouldCallSendNextOnReady() {
-			callService();
-
-			verify(requestObserver).setOnReadyHandler(runnableCaptor.capture());
-			runnableCaptor.getValue().run();
-
-			verify(fileSender, timeout(500)).sendNext();
-		}
-
-		@Test
-		void shouldReturnFuture() {
-			var result = callService();
-
-			assertThat(result).isNotNull();
-		}
-
-		private CompletableFuture<TestResponseType> callService() {
-			return fileSender.send();
+			assertThat(result).isNotNull().extracting(FileSender::getResultFuture).isNotNull();
 		}
 	}
 
 	@Nested
 	class TestSendNext {
 
-		private static final long SENT_SIZE = 1024;
+		@BeforeEach
+		void initObserver() {
+			fileSender.send();
+		}
 
 		@Test
 		void shouldCallSendMetaData() {
@@ -137,80 +120,41 @@ class GrpcFileUploadUtilsTest {
 			verify(fileSender).sendNextChunk();
 		}
 
-		@Test
-		void shouldCheckForEndOfStream() {
-			when(fileSender.sendNextChunk()).thenReturn(SENT_SIZE);
-			
-			fileSender.sendNext();
-
-			verify(fileSender).checkForEndOfStream(SENT_SIZE);
-		}
-
 	}
 
 	@Nested
-	class TestSendNextChunk {
+	class TestSendChunk {
 
 		private static final byte[] CHUNK_PART = "ChunkPartContent".getBytes();
 
 		@BeforeEach
-		void init() {
-			doReturn(CHUNK_PART).when(fileSender).readFromStream();
-		}
-
-		@Test
-		void shouldReadData() {
-			callService();
-
-			verify(fileSender).readFromStream();
+		void initObserver() {
+			fileSender.send();
 		}
 
-		@Test
-		void shouldSendNextChunk() {
-			callService();
-
-			verify(fileSender).sendChunk(CHUNK_PART);
-		}
-
-		@Test
-		void shouldReturnSize() {
-			var result = callService();
-
-			assertThat(result).isEqualTo(CHUNK_PART.length);
-		}
-
-		private long callService() {
-			return fileSender.sendNextChunk();
-		}
-	}
-
-	@Nested
-	class TestSendChunk {
-
-		private static final byte[] CHUNK_PART = "ChunkPartContent".getBytes();
-
 		@Test
 		void shouldApplyBuildChunk() throws IOException {
-			callService();
+			fileSender.sendChunk(CHUNK_PART, 5);
 
-			verify(chunkBuilder).apply(CHUNK_PART);
+			verify(chunkBuilder).apply(CHUNK_PART, 5);
 		}
 
 		@Test
 		void shouldCallOnNext() throws IOException {
-			callService();
+			fileSender.sendChunk(CHUNK_PART, 5);
 
 			verify(requestObserver).onNext(any());
 		}
-
-		private void callService() {
-			fileSender.sendChunk(CHUNK_PART);
-		}
 	}
 
 	@Nested
 	class TestSendMetaData {
 
+		@BeforeEach
+		void initObserver() {
+			fileSender.send();
+		}
+
 		@Test
 		void shouldNotSendWithoutMetadata() {
 			fileSender.sendMetaData();
@@ -234,6 +178,7 @@ class GrpcFileUploadUtilsTest {
 		}
 	}
 
+	@Disabled("unused")
 	@Nested
 	class TestReadFromStream {
 		@Test
diff --git a/kop-common-lib/src/test/java/de/itvsh/kop/common/errorhandling/ExceptionUtilTest.java b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/errorhandling/ExceptionUtilTest.java
similarity index 92%
rename from kop-common-lib/src/test/java/de/itvsh/kop/common/errorhandling/ExceptionUtilTest.java
rename to ozgcloud-common-lib/src/test/java/de/ozgcloud/common/errorhandling/ExceptionUtilTest.java
index 8f2d9049206302318696fe54d0ad7be61823b3e4..2ff7cecb6ac8ea59e2f3b7440fa31711487a7340 100644
--- a/kop-common-lib/src/test/java/de/itvsh/kop/common/errorhandling/ExceptionUtilTest.java
+++ b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/errorhandling/ExceptionUtilTest.java
@@ -21,12 +21,14 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.errorhandling;
+package de.ozgcloud.common.errorhandling;
 
 import static org.assertj.core.api.Assertions.*;
 
 import org.junit.jupiter.api.Test;
 
+import de.ozgcloud.common.errorhandling.ExceptionUtil;
+
 class ExceptionUtilTest {
 
 	@Test
diff --git a/kop-common-lib/src/test/java/de/itvsh/kop/common/errorhandling/TechnicalExceptionTest.java b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/errorhandling/TechnicalExceptionTest.java
similarity index 93%
rename from kop-common-lib/src/test/java/de/itvsh/kop/common/errorhandling/TechnicalExceptionTest.java
rename to ozgcloud-common-lib/src/test/java/de/ozgcloud/common/errorhandling/TechnicalExceptionTest.java
index 880f69ad87577eb0cf48b4f7163138defe961662..e173d6e2e3ff416c7cbbe0c93af3317b4e1d4b15 100644
--- a/kop-common-lib/src/test/java/de/itvsh/kop/common/errorhandling/TechnicalExceptionTest.java
+++ b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/errorhandling/TechnicalExceptionTest.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.errorhandling;
+package de.ozgcloud.common.errorhandling;
 
 import static org.assertj.core.api.Assertions.*;
 
@@ -29,6 +29,8 @@ import org.junit.jupiter.api.Test;
 
 import com.thedeanda.lorem.LoremIpsum;
 
+import de.ozgcloud.common.errorhandling.TechnicalException;
+
 class TechnicalExceptionTest {
 
 	private final String MESSAGE = LoremIpsum.getInstance().getWords(5);
diff --git a/kop-common-lib/src/test/java/de/itvsh/kop/common/grpc/GrpcUtilTest.java b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/grpc/GrpcUtilTest.java
similarity index 97%
rename from kop-common-lib/src/test/java/de/itvsh/kop/common/grpc/GrpcUtilTest.java
rename to ozgcloud-common-lib/src/test/java/de/ozgcloud/common/grpc/GrpcUtilTest.java
index 0b4ac1cf4f0580b159f2b0f08b97b292cd1aeaae..f129f1539bab3b07c6c39ebc314ed92003c22545 100644
--- a/kop-common-lib/src/test/java/de/itvsh/kop/common/grpc/GrpcUtilTest.java
+++ b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/grpc/GrpcUtilTest.java
@@ -1,4 +1,4 @@
-package de.itvsh.kop.common.grpc;
+package de.ozgcloud.common.grpc;
 
 import static org.assertj.core.api.Assertions.*;
 
@@ -7,6 +7,7 @@ import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 
+import de.ozgcloud.common.grpc.GrpcUtil;
 import io.grpc.Metadata;
 
 class GrpcUtilTest {
diff --git a/kop-common-lib/src/test/java/de/itvsh/kop/common/logging/KopLoggingInterceptorTest.java b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/logging/OzgCloudLoggingInterceptorTest.java
similarity index 91%
rename from kop-common-lib/src/test/java/de/itvsh/kop/common/logging/KopLoggingInterceptorTest.java
rename to ozgcloud-common-lib/src/test/java/de/ozgcloud/common/logging/OzgCloudLoggingInterceptorTest.java
index 988d241e9d1e62d58fbfe28c4133a653b20ad6aa..c1f1c025c2d9752ed03459018c515bad717d9680 100644
--- a/kop-common-lib/src/test/java/de/itvsh/kop/common/logging/KopLoggingInterceptorTest.java
+++ b/ozgcloud-common-lib/src/test/java/de/ozgcloud/common/logging/OzgCloudLoggingInterceptorTest.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.logging;
+package de.ozgcloud.common.logging;
 
 import jakarta.interceptor.InvocationContext;
 import org.junit.jupiter.api.AfterEach;
@@ -32,13 +32,15 @@ import org.junit.jupiter.api.Test;
 import org.mockito.Mock;
 import org.mockito.MockedStatic;
 
+import de.ozgcloud.common.logging.AspectLoggingUtils;
+import de.ozgcloud.common.logging.OzgCloudLoggingInterceptor;
 
 import static org.assertj.core.api.Assertions.*;
 import static org.mockito.Mockito.*;
 
-class KopLoggingInterceptorTest {
+class OzgCloudLoggingInterceptorTest {
 
-	private final KopLoggingInterceptor interceptor = new KopLoggingInterceptor();
+	private final OzgCloudLoggingInterceptor interceptor = new OzgCloudLoggingInterceptor();
 
 	@DisplayName("Logging")
 	@Nested
diff --git a/kop-common-lib/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/ozgcloud-common-lib/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
similarity index 100%
rename from kop-common-lib/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
rename to ozgcloud-common-lib/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
diff --git a/kop-common-lib/src/test/resources/junit-platform.properties b/ozgcloud-common-lib/src/test/resources/junit-platform.properties
similarity index 100%
rename from kop-common-lib/src/test/resources/junit-platform.properties
rename to ozgcloud-common-lib/src/test/resources/junit-platform.properties
diff --git a/kop-common-lib/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/ozgcloud-common-lib/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
similarity index 100%
rename from kop-common-lib/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
rename to ozgcloud-common-lib/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
diff --git a/kop-common-license/LICENSE b/ozgcloud-common-license/LICENSE
similarity index 100%
rename from kop-common-license/LICENSE
rename to ozgcloud-common-license/LICENSE
diff --git a/kop-common-license/pom.xml b/ozgcloud-common-license/pom.xml
similarity index 84%
rename from kop-common-license/pom.xml
rename to ozgcloud-common-license/pom.xml
index 090d46f31f1359f44c5bd9d5ede53e88ab527ea3..64d9236ef6a57ebed91f7dd79a24db054cb5f1b9 100644
--- a/kop-common-license/pom.xml
+++ b/ozgcloud-common-license/pom.xml
@@ -27,17 +27,14 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
 	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>de.itvsh.kop.common</groupId>
-		<artifactId>kop-common</artifactId>
-		<version>1.10.0-SNAPSHOT</version>
-	</parent>
 
-	<artifactId>kop-common-license</artifactId>
+	<groupId>de.ozgcloud.common</groupId>
+	<artifactId>ozgcloud-common-license</artifactId>
+	<version>1.6.0</version>
 	<packaging>jar</packaging>
 
-	<name>Kop Common - OS license provider</name>
-	<description>A Maven project for providing the license to all KOP Projects</description>
+	<name>OzgCloud Common - OS license provider</name>
+	<description>A Maven project for providing the license to all OzgCloud Projects</description>
 	
 	<properties>
 		<java.version>17</java.version>
diff --git a/kop-common-license/readme.md b/ozgcloud-common-license/readme.md
similarity index 82%
rename from kop-common-license/readme.md
rename to ozgcloud-common-license/readme.md
index 54fc614742980f0d0422ebfbc8bb20530de2b824..c471a27f5c0752fa04206b506656f5b7d1902187 100644
--- a/kop-common-license/readme.md
+++ b/ozgcloud-common-license/readme.md
@@ -1,6 +1,6 @@
-com.mycila# KOP Common license
+com.mycila# OzgCloud Common license
 
-This is a basic Maven-based project that can be used as license provider for all KOP Projects
+This is a basic Maven-based project that can be used as license provider for all OzgCloud Projects
 
 It provides the the header and full text of the german [EUPL Version 1.2 license][license]
 
@@ -12,7 +12,7 @@ It is a library, meant to be included as a dependency on any project which may w
 To use it add
 
 ```xml
-<kop.license.version>1.4.0</kop.license.version>
+<ozgcloud.license.version>1.4.0</ozgcloud.license.version>
 ```
 to the properties section of the pom.xml file.
 
@@ -38,9 +38,9 @@ In the plugins section add
 	</configuration>
 	<dependencies>
         <dependency>
-            <groupId>de.itvsh.kop.common</groupId>
-            <artifactId>kop-common-license</artifactId>
-            <version>${kop.license.version}</version>
+            <groupId>de.ozgcloud.common</groupId>
+            <artifactId>ozgcloud-common-license</artifactId>
+            <version>${ozgcloud.license.version}</version>
         </dependency>
     </dependencies>
 </plugin>
diff --git a/kop-common-license/src/main/resources/license/eupl_v1_2_de/header.txt b/ozgcloud-common-license/src/main/resources/license/eupl_v1_2_de/header.txt
similarity index 100%
rename from kop-common-license/src/main/resources/license/eupl_v1_2_de/header.txt
rename to ozgcloud-common-license/src/main/resources/license/eupl_v1_2_de/header.txt
diff --git a/kop-common-license/src/main/resources/license/eupl_v1_2_de/license.txt b/ozgcloud-common-license/src/main/resources/license/eupl_v1_2_de/license.txt
similarity index 100%
rename from kop-common-license/src/main/resources/license/eupl_v1_2_de/license.txt
rename to ozgcloud-common-license/src/main/resources/license/eupl_v1_2_de/license.txt
diff --git a/kop-common-parent/pom.xml b/ozgcloud-common-parent/pom.xml
similarity index 84%
rename from kop-common-parent/pom.xml
rename to ozgcloud-common-parent/pom.xml
index f825f2715c8ed7ec1b8bc04a198868834bd4da4f..cf228d733e1accf066b038ae45a2b36122cb125d 100644
--- a/kop-common-parent/pom.xml
+++ b/ozgcloud-common-parent/pom.xml
@@ -31,47 +31,48 @@
 	<parent>
 		<groupId>org.springframework.boot</groupId>
 		<artifactId>spring-boot-starter-parent</artifactId>
-		<version>2.7.16</version>
+		<version>3.1.6</version>
 		<relativePath />
 	</parent>
 
-	<groupId>de.itvsh.kop.common</groupId>
-	<artifactId>kop-common-parent</artifactId>
-	<version>1.10.0-SNAPSHOT</version>
+	<groupId>de.ozgcloud.common</groupId>
+	<artifactId>ozgcloud-common-parent</artifactId>
+	<version>3.0.0-SNAPSHOT</version>
 
 	<packaging>pom</packaging>
-	<name>Kop Common - Parent</name>
-	<description>Parent for all KOP spring boot projects</description>
+	<name>OzgCloud Common - Parent</name>
+	<description>Parent for all OzgCloud spring boot projects</description>
 
 	<properties>
 		<java.version>17</java.version>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 
-		<kop-common.version>1.10.0-SNAPSHOT</kop-common.version>
-		<kop.license.version>1.6.0</kop.license.version>
+		<ozgcloud-common.version>3.0.0-SNAPSHOT</ozgcloud-common.version>
+		<ozgcloud.license.version>1.6.0</ozgcloud.license.version>
 
 		<mapstruct.version>1.5.5.Final</mapstruct.version>
-		<spring-boot.version>2.7.16</spring-boot.version>
+		<spring-boot.version>3.1.6</spring-boot.version>
 
 		<!-- plugins -->
-		<maven-surefire-plugin.version>3.1.2</maven-surefire-plugin.version>
-		<maven-failsafe-plugin.version>3.1.2</maven-failsafe-plugin.version>
-		<jacoco.plugin.version>0.8.10</jacoco.plugin.version>
+		<maven-surefire-plugin.version>3.2.2</maven-surefire-plugin.version>
+		<maven-failsafe-plugin.version>3.2.2</maven-failsafe-plugin.version>
+		<jacoco.plugin.version>0.8.11</jacoco.plugin.version>
 
 		<sonarqube.version>3.9.1.2184</sonarqube.version>
 		<license.plugin.version>4.1</license.plugin.version>
+		<rewrite.plugin.version>4.38.2</rewrite.plugin.version>
 
 		<!--overriden to fix security issue CVE-2022-1471 -->
-		<snakeyaml.version>2.0</snakeyaml.version>
+		<snakeyaml.version>2.2</snakeyaml.version>
 	</properties>
 
 	<dependencyManagement>
 		<dependencies>
 			<dependency>
-				<groupId>de.itvsh.kop.common</groupId>
-				<artifactId>kop-common-dependencies</artifactId>
-				<version>${kop-common.version}</version>
+				<groupId>de.ozgcloud.common</groupId>
+				<artifactId>ozgcloud-common-dependencies</artifactId>
+				<version>${ozgcloud-common.version}</version>
 				<type>pom</type>
 				<scope>import</scope>
 			</dependency>
@@ -80,7 +81,7 @@
 			<dependency>
 				<groupId>org.springframework.boot</groupId>
 				<artifactId>spring-boot-starter</artifactId>
-				<version>${spring-boot.version}</version>
+				<version>3.0.5</version>
 				<exclusions>
 					<exclusion>
 						<groupId>org.springframework.boot</groupId>
@@ -94,12 +95,12 @@
 	<dependencies>
 		<!-- own project -->
 		<dependency>
-			<groupId>de.itvsh.kop.common</groupId>
-			<artifactId>kop-common-test</artifactId>
+			<groupId>de.ozgcloud.common</groupId>
+			<artifactId>ozgcloud-common-test</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>de.itvsh.kop.common</groupId>
-			<artifactId>kop-common-lib</artifactId>
+			<groupId>de.ozgcloud.common</groupId>
+			<artifactId>ozgcloud-common-lib</artifactId>
 		</dependency>
 
 		<!-- spring -->
@@ -163,6 +164,11 @@
 			<artifactId>micrometer-registry-prometheus</artifactId>
 			<scope>runtime</scope>
 		</dependency>
+		<dependency>
+			<groupId>org.glassfish.jaxb</groupId>
+			<artifactId>jaxb-runtime</artifactId>
+			<scope>runtime</scope>
+		</dependency>
 	</dependencies>
 
 	<build>
@@ -204,6 +210,8 @@
 					<artifactId>spring-boot-maven-plugin</artifactId>
 					<configuration>
 						<image>
+							<!-- cann be removed when using spring-boot 3.2-->
+							<builder>paketobuildpacks/builder-jammy-base</builder>
 							<env>
 								<BPE_DELIM_JAVA_TOOL_OPTIONS xml:space="preserve"> </BPE_DELIM_JAVA_TOOL_OPTIONS>
 								<BPE_APPEND_JAVA_TOOL_OPTIONS>-Dfile.encoding=UTF-8</BPE_APPEND_JAVA_TOOL_OPTIONS>
@@ -322,14 +330,22 @@
 					</configuration>
 					<dependencies>
 						<dependency>
-							<groupId>de.itvsh.kop.common</groupId>
-							<artifactId>kop-common-license</artifactId>
-							<version>${kop.license.version}</version>
+							<groupId>de.ozgcloud.common</groupId>
+							<artifactId>ozgcloud-common-license</artifactId>
+							<version>${ozgcloud.license.version}</version>
 						</dependency>
 					</dependencies>
 				</plugin>
 			</plugins>
 		</pluginManagement>
+		
+		<plugins>
+			<plugin>
+				<groupId>org.openrewrite.maven</groupId>
+				<artifactId>rewrite-maven-plugin</artifactId>
+				<version>${rewrite.plugin.version}</version>
+		    </plugin>
+		</plugins>
 	</build>
 
 	<distributionManagement>
diff --git a/kop-common-pdf/pom.xml b/ozgcloud-common-pdf/pom.xml
similarity index 83%
rename from kop-common-pdf/pom.xml
rename to ozgcloud-common-pdf/pom.xml
index 59f58ae0668ff5c21eb8555a3f95cb994e03c338..533066121db4d4c95e3c28463f71c8430d84b94d 100644
--- a/kop-common-pdf/pom.xml
+++ b/ozgcloud-common-pdf/pom.xml
@@ -26,15 +26,15 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>de.itvsh.kop.common</groupId>
-		<artifactId>kop-common</artifactId>
-		<version>1.10.0-SNAPSHOT</version>
+		<groupId>de.ozgcloud.common</groupId>
+		<artifactId>ozgcloud-common</artifactId>
+		<version>3.0.0-SNAPSHOT</version>
 	</parent>
-	<artifactId>kop-common-pdf</artifactId>
-	<name>Kop Common - PDF Export library</name>
+	<artifactId>ozgcloud-common-pdf</artifactId>
+	<name>OzgCloud Common - PDF Export library</name>
 
 	<properties>
-		<!-- TODO move to kop-common-dependencies -->
+		<!-- TODO move to ozgcloud-common-dependencies -->
 		<jakarta.cdi-api.version>4.0.1</jakarta.cdi-api.version>
 		<fop.version>2.7</fop.version>
 	</properties>
@@ -42,9 +42,9 @@
 	<dependencyManagement>
 		<dependencies>
 			<dependency>
-				<groupId>de.itvsh.kop.common</groupId>
-				<artifactId>kop-common-dependencies</artifactId>
-				<version>${kop-common.version}</version>
+				<groupId>de.ozgcloud.common</groupId>
+				<artifactId>ozgcloud-common-dependencies</artifactId>
+				<version>${ozgcloud-common.version}</version>
 				<type>pom</type>
 				<scope>import</scope>
 			</dependency>
@@ -53,8 +53,8 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>de.itvsh.kop.common</groupId>
-			<artifactId>kop-common-lib</artifactId>
+			<groupId>de.ozgcloud.common</groupId>
+			<artifactId>ozgcloud-common-lib</artifactId>
 		</dependency>
 
 		<!-- For Injection-Annotations -->
@@ -110,8 +110,9 @@
 			<artifactId>assertj-core</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>de.itvsh.kop.common</groupId>
-			<artifactId>kop-common-test</artifactId>
+			<groupId>de.ozgcloud.common</groupId>
+			<artifactId>ozgcloud-common-test</artifactId>
 		</dependency>
 	</dependencies>
+	
 </project>
\ No newline at end of file
diff --git a/kop-common-pdf/src/main/java/de/itvsh/kop/common/pdf/PdfService.java b/ozgcloud-common-pdf/src/main/java/de/ozgcloud/common/pdf/PdfService.java
similarity index 94%
rename from kop-common-pdf/src/main/java/de/itvsh/kop/common/pdf/PdfService.java
rename to ozgcloud-common-pdf/src/main/java/de/ozgcloud/common/pdf/PdfService.java
index 1e94a70502dd0066b05fe59a2fd5bfed2d0fc51c..a5e254905a38ffafdc55ed6aa0a0afb20856af80 100644
--- a/kop-common-pdf/src/main/java/de/itvsh/kop/common/pdf/PdfService.java
+++ b/ozgcloud-common-pdf/src/main/java/de/ozgcloud/common/pdf/PdfService.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.pdf;
+package de.ozgcloud.common.pdf;
 
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -29,7 +29,7 @@ import java.io.OutputStream;
 import org.springframework.lang.NonNull;
 import org.springframework.stereotype.Service;
 
-import de.itvsh.kop.common.pdf.fop.FopPdfService;
+import de.ozgcloud.common.pdf.fop.FopPdfService;
 import jakarta.enterprise.context.ApplicationScoped;
 import lombok.AccessLevel;
 import lombok.RequiredArgsConstructor;
diff --git a/kop-common-pdf/src/main/java/de/itvsh/kop/common/pdf/fop/FopPdfService.java b/ozgcloud-common-pdf/src/main/java/de/ozgcloud/common/pdf/fop/FopPdfService.java
similarity index 96%
rename from kop-common-pdf/src/main/java/de/itvsh/kop/common/pdf/fop/FopPdfService.java
rename to ozgcloud-common-pdf/src/main/java/de/ozgcloud/common/pdf/fop/FopPdfService.java
index 1b79ea291cc38000c80914609ff906966fc21d2c..029f45d535ba6fdcb34b2de80353ea7cbd699df1 100644
--- a/kop-common-pdf/src/main/java/de/itvsh/kop/common/pdf/fop/FopPdfService.java
+++ b/ozgcloud-common-pdf/src/main/java/de/ozgcloud/common/pdf/fop/FopPdfService.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.pdf.fop;
+package de.ozgcloud.common.pdf.fop;
 
 import java.io.BufferedOutputStream;
 import java.io.IOException;
@@ -32,9 +32,9 @@ import java.net.URISyntaxException;
 import java.util.Objects;
 
 import javax.xml.XMLConstants;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.util.JAXBSource;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.util.JAXBSource;
 import javax.xml.transform.Result;
 import javax.xml.transform.Source;
 import javax.xml.transform.Transformer;
@@ -58,7 +58,8 @@ import org.apache.xmlgraphics.util.MimeConstants;
 import org.springframework.lang.NonNull;
 import org.springframework.stereotype.Service;
 
-import de.itvsh.kop.common.errorhandling.TechnicalException;
+import de.ozgcloud.common.errorhandling.TechnicalException;
+
 import jakarta.enterprise.context.ApplicationScoped;
 import lombok.extern.log4j.Log4j2;
 
diff --git a/kop-common-pdf/src/main/resources/fop/fop_conf.xml b/ozgcloud-common-pdf/src/main/resources/fop/fop_conf.xml
similarity index 100%
rename from kop-common-pdf/src/main/resources/fop/fop_conf.xml
rename to ozgcloud-common-pdf/src/main/resources/fop/fop_conf.xml
diff --git a/kop-common-pdf/src/main/resources/fop/master-template.xsl b/ozgcloud-common-pdf/src/main/resources/fop/master-template.xsl
similarity index 100%
rename from kop-common-pdf/src/main/resources/fop/master-template.xsl
rename to ozgcloud-common-pdf/src/main/resources/fop/master-template.xsl
diff --git a/kop-common-pdf/src/test/java/de/itvsh/kop/common/pdf/PdfServiceTest.java b/ozgcloud-common-pdf/src/test/java/de/ozgcloud/common/pdf/PdfServiceTest.java
similarity index 94%
rename from kop-common-pdf/src/test/java/de/itvsh/kop/common/pdf/PdfServiceTest.java
rename to ozgcloud-common-pdf/src/test/java/de/ozgcloud/common/pdf/PdfServiceTest.java
index add1b57cb3be566926056a2bf0629e3ea6761d97..be569cdfe56cc51945b2643d9a3c4c756d0712bf 100644
--- a/kop-common-pdf/src/test/java/de/itvsh/kop/common/pdf/PdfServiceTest.java
+++ b/ozgcloud-common-pdf/src/test/java/de/ozgcloud/common/pdf/PdfServiceTest.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.pdf;
+package de.ozgcloud.common.pdf;
 
 import static org.assertj.core.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.*;
@@ -35,7 +35,8 @@ import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 
-import de.itvsh.kop.common.pdf.fop.FopPdfService;
+import de.ozgcloud.common.pdf.PdfService;
+import de.ozgcloud.common.pdf.fop.FopPdfService;
 
 class PdfServiceTest {
 
diff --git a/kop-common-pdf/src/test/java/de/itvsh/kop/common/pdf/fop/FopPdfServiceTest.java b/ozgcloud-common-pdf/src/test/java/de/ozgcloud/common/pdf/fop/FopPdfServiceTest.java
similarity index 93%
rename from kop-common-pdf/src/test/java/de/itvsh/kop/common/pdf/fop/FopPdfServiceTest.java
rename to ozgcloud-common-pdf/src/test/java/de/ozgcloud/common/pdf/fop/FopPdfServiceTest.java
index 08963db05510c9c90e494fbbfa3414b1b5a5e0a7..139bc8aa48fbeab98f6a5aeee35b442fc9d037ba 100644
--- a/kop-common-pdf/src/test/java/de/itvsh/kop/common/pdf/fop/FopPdfServiceTest.java
+++ b/ozgcloud-common-pdf/src/test/java/de/ozgcloud/common/pdf/fop/FopPdfServiceTest.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.pdf.fop;
+package de.ozgcloud.common.pdf.fop;
 
 import static org.assertj.core.api.Assertions.*;
 
@@ -32,8 +32,8 @@ import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.StringWriter;
 
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 import javax.xml.transform.OutputKeys;
 import javax.xml.transform.Source;
 import javax.xml.transform.Transformer;
@@ -45,7 +45,8 @@ import javax.xml.transform.stream.StreamResult;
 import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
 
-import de.itvsh.kop.common.test.TestUtils;
+import de.ozgcloud.common.pdf.fop.FopPdfService;
+import de.ozgcloud.common.test.TestUtils;
 import lombok.AccessLevel;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
@@ -97,7 +98,7 @@ class FopPdfServiceTest {
 	@Test
 	@SneakyThrows
 	void shouldRenderToFile() {
-		var tempFile = File.createTempFile("kop_", ".pdf");
+		var tempFile = File.createTempFile("ozgcloud_", ".pdf");
 		tempFile.deleteOnExit();
 		OutputStream out = new FileOutputStream(tempFile);
 
diff --git a/kop-common-pdf/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/ozgcloud-common-pdf/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
similarity index 100%
rename from kop-common-pdf/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
rename to ozgcloud-common-pdf/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
diff --git a/kop-common-pdf/src/test/resources/junit-platform.properties b/ozgcloud-common-pdf/src/test/resources/junit-platform.properties
similarity index 100%
rename from kop-common-pdf/src/test/resources/junit-platform.properties
rename to ozgcloud-common-pdf/src/test/resources/junit-platform.properties
diff --git a/kop-common-pdf/src/test/resources/log4j2.xml b/ozgcloud-common-pdf/src/test/resources/log4j2.xml
similarity index 100%
rename from kop-common-pdf/src/test/resources/log4j2.xml
rename to ozgcloud-common-pdf/src/test/resources/log4j2.xml
diff --git a/kop-common-pdf/src/test/resources/test-template.xsl b/ozgcloud-common-pdf/src/test/resources/test-template.xsl
similarity index 100%
rename from kop-common-pdf/src/test/resources/test-template.xsl
rename to ozgcloud-common-pdf/src/test/resources/test-template.xsl
diff --git a/kop-common-test/pom.xml b/ozgcloud-common-test/pom.xml
similarity index 82%
rename from kop-common-test/pom.xml
rename to ozgcloud-common-test/pom.xml
index c5d5c213b1d85551eed684d408fdb958a9f8d54a..cd85a38cda5bca8775cfffb201bf9eeddf05e572 100644
--- a/kop-common-test/pom.xml
+++ b/ozgcloud-common-test/pom.xml
@@ -28,14 +28,14 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
-		<groupId>de.itvsh.kop.common</groupId>
-		<artifactId>kop-common-dependencies</artifactId>
-		<version>1.10.0-SNAPSHOT</version>
-		<relativePath>../kop-common-dependencies</relativePath>
+		<groupId>de.ozgcloud.common</groupId>
+		<artifactId>ozgcloud-common-dependencies</artifactId>
+		<version>3.0.0-SNAPSHOT</version>
+		<relativePath>../ozgcloud-common-dependencies</relativePath>
 	</parent>
 
-	<artifactId>kop-common-test</artifactId>
-	<name>Kop Common - Test Lib</name>
+	<artifactId>ozgcloud-common-test</artifactId>
+	<name>OzgCloud Common - Test Lib</name>
 	
 	<dependencies>
 		<dependency>
@@ -53,6 +53,11 @@
 			<groupId>org.testcontainers</groupId>
 			<artifactId>mongodb</artifactId>
 		</dependency>
+		<dependency>
+			<groupId>org.glassfish.jaxb</groupId>
+			<artifactId>jaxb-runtime</artifactId>
+			<scope>runtime</scope>
+		</dependency>
 		
 		<dependency>
 			<groupId>org.projectlombok</groupId>
diff --git a/kop-common-test/src/main/java/de/itvsh/kop/common/test/DataITCase.java b/ozgcloud-common-test/src/main/java/de/ozgcloud/common/test/DataITCase.java
similarity index 97%
rename from kop-common-test/src/main/java/de/itvsh/kop/common/test/DataITCase.java
rename to ozgcloud-common-test/src/main/java/de/ozgcloud/common/test/DataITCase.java
index a965877f31c04242a0f45fd1c40a46adaf10eeff..f38737b695514352dbf1796cdc4be9061888f942 100644
--- a/kop-common-test/src/main/java/de/itvsh/kop/common/test/DataITCase.java
+++ b/ozgcloud-common-test/src/main/java/de/ozgcloud/common/test/DataITCase.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.test;
+package de.ozgcloud.common.test;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Inherited;
diff --git a/kop-common-test/src/main/java/de/itvsh/kop/common/test/DbInitializer.java b/ozgcloud-common-test/src/main/java/de/ozgcloud/common/test/DbInitializer.java
similarity index 98%
rename from kop-common-test/src/main/java/de/itvsh/kop/common/test/DbInitializer.java
rename to ozgcloud-common-test/src/main/java/de/ozgcloud/common/test/DbInitializer.java
index 43f3a653c4cad719290789ab70c0dc16f6c74073..72e427f4efe5e28a9150f04ce9f48ee77e8ddbd5 100644
--- a/kop-common-test/src/main/java/de/itvsh/kop/common/test/DbInitializer.java
+++ b/ozgcloud-common-test/src/main/java/de/ozgcloud/common/test/DbInitializer.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.test;
+package de.ozgcloud.common.test;
 
 import org.springframework.boot.test.util.TestPropertyValues;
 import org.springframework.context.ApplicationContextInitializer;
diff --git a/kop-common-test/src/main/java/de/itvsh/kop/common/test/ITCase.java b/ozgcloud-common-test/src/main/java/de/ozgcloud/common/test/ITCase.java
similarity index 97%
rename from kop-common-test/src/main/java/de/itvsh/kop/common/test/ITCase.java
rename to ozgcloud-common-test/src/main/java/de/ozgcloud/common/test/ITCase.java
index f66964629c96909d3cda33359d82758a3752e74b..dd1220ce84870d8a34b2e878e357f0e82f7455bc 100644
--- a/kop-common-test/src/main/java/de/itvsh/kop/common/test/ITCase.java
+++ b/ozgcloud-common-test/src/main/java/de/ozgcloud/common/test/ITCase.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.test;
+package de.ozgcloud.common.test;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Inherited;
diff --git a/kop-common-test/src/main/java/de/itvsh/kop/common/test/TestUtils.java b/ozgcloud-common-test/src/main/java/de/ozgcloud/common/test/TestUtils.java
similarity index 92%
rename from kop-common-test/src/main/java/de/itvsh/kop/common/test/TestUtils.java
rename to ozgcloud-common-test/src/main/java/de/ozgcloud/common/test/TestUtils.java
index 200b8b2d915534c28019446fd093c3d94a41518c..e6d15783258498bd128b0bbc66bbe035f66e1c3e 100644
--- a/kop-common-test/src/main/java/de/itvsh/kop/common/test/TestUtils.java
+++ b/ozgcloud-common-test/src/main/java/de/ozgcloud/common/test/TestUtils.java
@@ -21,7 +21,7 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-package de.itvsh.kop.common.test;
+package de.ozgcloud.common.test;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -63,10 +63,14 @@ public class TestUtils {
 	public static String addQuote(String str) {
 		return Objects.isNull(str) ? "null" : String.format("\"%s\"", str);
 	}
-	
-	public static byte[] contentStreamToByteArray(InputStream contentStream) throws IOException {
+
+	public static byte[] contentStreamToByteArray(InputStream contentStream) {
 		var outputStream = new ByteArrayOutputStream();
-		IOUtils.copy(contentStream, outputStream);
+		try {
+			IOUtils.copy(contentStream, outputStream);
+		} catch (IOException e) {
+			throw new RuntimeException("Error on reading stream", e);
+		}
 
 		return outputStream.toByteArray();
 	}
diff --git a/pom.xml b/pom.xml
index 3935765577c7f0f82d3edff8ea98738980b989df..0fd48ee185b70787a9ba7bb49e4591599325fa5e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,30 +27,30 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 
-	<groupId>de.itvsh.kop.common</groupId>
-	<artifactId>kop-common</artifactId>
-	<version>1.10.0-SNAPSHOT</version>
+	<groupId>de.ozgcloud.common</groupId>
+	<artifactId>ozgcloud-common</artifactId>
+	<version>3.0.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 
-	<name>Kop Common</name>
+	<name>OzgCloud Common</name>
 
 	<modules>
-		<module>kop-common-dependencies</module>
-		<module>kop-common-parent</module>
-		<module>kop-common-lib</module>
-		<module>kop-common-test</module>
-		<module>kop-common-pdf</module>
+		<module>ozgcloud-common-dependencies</module>
+		<module>ozgcloud-common-parent</module>
+		<module>ozgcloud-common-lib</module>
+		<module>ozgcloud-common-test</module>
+		<module>ozgcloud-common-pdf</module>
 	</modules>
 
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
-		<kop-common.version>1.10.0-SNAPSHOT</kop-common.version>
-		<kop.license.version>1.6.0</kop.license.version>
+		<ozgcloud-common.version>3.0.0-SNAPSHOT</ozgcloud-common.version>
+		<ozgcloud.license.version>1.6.0</ozgcloud.license.version>
 
 		<java.version>17</java.version>
-		<maven.compiler.target>${java.version}</maven.compiler.target>
-		<maven.compiler.source>${java.version}</maven.compiler.source>
+		<maven.compiler.target>17</maven.compiler.target>
+		<maven.compiler.source>17</maven.compiler.source>
 	</properties>
 
 	<distributionManagement>
@@ -65,6 +65,14 @@
 			<url>https://nexus.ozg-sh.de/repository/ozg-snapshots/</url>
 		</snapshotRepository>
 	</distributionManagement>
+	<dependencies>
+		<dependency>
+			<groupId>org.glassfish.jaxb</groupId>
+			<artifactId>jaxb-runtime</artifactId>
+			<version>3.0.2</version>
+			<scope>runtime</scope>
+		</dependency>
+	</dependencies>
 
 	<build>
 		<pluginManagement>
@@ -90,13 +98,34 @@
 					</configuration>
 					<dependencies>
 						<dependency>
-							<groupId>de.itvsh.kop.common</groupId>
-							<artifactId>kop-common-license</artifactId>
-							<version>${kop.license.version}</version>
+							<groupId>de.ozgcloud.common</groupId>
+							<artifactId>ozgcloud-common-license</artifactId>
+							<version>${ozgcloud.license.version}</version>
 						</dependency>
 					</dependencies>
 				</plugin>
+				
+				<plugin>
+				<groupId>org.openrewrite.maven</groupId>
+				<artifactId>rewrite-maven-plugin</artifactId>
+				<version>4.38.2</version>
+				<configuration>
+					<activeRecipes>
+						<recipe>org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_0</recipe>
+					</activeRecipes>
+				</configuration>
+				<dependencies>
+					<dependency>
+						<groupId>org.openrewrite.recipe</groupId>
+						<artifactId>rewrite-spring</artifactId>
+						<version>4.31.0</version>
+					</dependency>
+				</dependencies>
+			</plugin>
+				
 			</plugins>
 		</pluginManagement>
+		
+		
 	</build>
 </project>
\ No newline at end of file
diff --git a/release-erstellen.sh b/release-erstellen.sh
new file mode 100755
index 0000000000000000000000000000000000000000..6ea590d256057705cc80e9ca4f8e2b67f76ebf9b
--- /dev/null
+++ b/release-erstellen.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+if [ "$#" -ne 1 ]; then
+    echo "Aufruf: release-erstellen.sh JA"
+    echo "Als Parameter bitte 'JA' eintragen zur Sicherheit"
+    exit 1
+fi
+
+
+## alle -SNAPSHOT in pom.xmls entfernen
+find . -name pom.xml -exec sed -i 's/-SNAPSHOT//g' {} +
+
+## release version auslesen
+NEWVERSION=$(xmlstarlet sel -N w="http://maven.apache.org/POM/4.0.0" -t -v '//w:project/w:version' -n pom.xml)
+
+echo
+echo "NEXT STEPS:"
+echo "***********"
+echo "Änderungen prüfen"
+echo "git commit -a -m 'release version "$NEWVERSION"'"
+echo "git push"
+echo "git tag "$NEWVERSION
+echo "git push --tags"