diff --git a/src/main/java/de/ozgcloud/xta/client/XtaClient.java b/src/main/java/de/ozgcloud/xta/client/XtaClient.java
new file mode 100644
index 0000000000000000000000000000000000000000..feb624291095450b208c27e9e786673167e9754a
--- /dev/null
+++ b/src/main/java/de/ozgcloud/xta/client/XtaClient.java
@@ -0,0 +1,26 @@
+package de.ozgcloud.xta.client;
+
+import org.apache.commons.lang3.NotImplementedException;
+
+import de.ozgcloud.xta.client.model.XtaMessage;
+import de.ozgcloud.xta.client.model.XtaMessageId;
+import de.ozgcloud.xta.client.model.XtaMessageMetaDatasAndHeader;
+
+public class XtaClient {
+
+	public XtaMessageMetaDatasAndHeader getMessagesMetadata(String selfIdentifier) {
+		throw new NotImplementedException("");
+	}
+
+	public XtaMessageMetaDatasAndHeader getNextMessagesMetadata(String selfIdentifier, String msgBoxRequestId) {
+		throw new NotImplementedException("");
+	}
+
+	public XtaMessage getMessage(XtaMessageId messageId) {
+		throw new NotImplementedException("");
+	}
+
+	public void close(XtaMessageId messageId) {
+		throw new NotImplementedException("");
+	}
+}
diff --git a/src/main/java/de/ozgcloud/xta/client/model/XtaFile.java b/src/main/java/de/ozgcloud/xta/client/model/XtaFile.java
new file mode 100644
index 0000000000000000000000000000000000000000..1469b74cb0f3ef6d6ca776081545e14e40ee11ae
--- /dev/null
+++ b/src/main/java/de/ozgcloud/xta/client/model/XtaFile.java
@@ -0,0 +1,14 @@
+package de.ozgcloud.xta.client.model;
+
+import java.io.File;
+import java.math.BigInteger;
+
+import lombok.Builder;
+
+@Builder
+public record XtaFile(File file,
+		String contentType,
+		String name,
+		BigInteger size) {
+
+}
diff --git a/src/main/java/de/ozgcloud/xta/client/model/XtaMessage.java b/src/main/java/de/ozgcloud/xta/client/model/XtaMessage.java
new file mode 100644
index 0000000000000000000000000000000000000000..4d76aaccdc5934a4e58fc43e26f24f294245180a
--- /dev/null
+++ b/src/main/java/de/ozgcloud/xta/client/model/XtaMessage.java
@@ -0,0 +1,15 @@
+package de.ozgcloud.xta.client.model;
+
+import java.util.Collection;
+
+import lombok.Builder;
+import lombok.Getter;
+import lombok.Singular;
+
+@Builder(toBuilder = true)
+@Getter
+public class XtaMessage {
+	private XtaMessageMetaData metaData;
+	@Singular
+	private Collection<XtaFile> messageFiles;
+}
diff --git a/src/main/java/de/ozgcloud/xta/client/model/XtaMessageId.java b/src/main/java/de/ozgcloud/xta/client/model/XtaMessageId.java
new file mode 100644
index 0000000000000000000000000000000000000000..8c65706171d3a875517cb6161001aadd75b8d56d
--- /dev/null
+++ b/src/main/java/de/ozgcloud/xta/client/model/XtaMessageId.java
@@ -0,0 +1,14 @@
+package de.ozgcloud.xta.client.model;
+
+import de.ozgcloud.common.datatype.StringBasedValue;
+
+public class XtaMessageId extends StringBasedValue {
+
+	public XtaMessageId(String messageId) {
+		super(messageId);
+	}
+
+	public static XtaMessageId from(String messageId) {
+		return new XtaMessageId(messageId);
+	}
+}
diff --git a/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaData.java b/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaData.java
new file mode 100644
index 0000000000000000000000000000000000000000..3f4d0b8742382a504a03296ea23716af6730f09b
--- /dev/null
+++ b/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaData.java
@@ -0,0 +1,20 @@
+package de.ozgcloud.xta.client.model;
+
+import java.time.ZonedDateTime;
+
+import lombok.Builder;
+import lombok.Getter;
+
+@Builder
+@Getter
+class XtaMessageMetaData {
+	// MsgIdentification.MessageId
+	private XtaMessageId messageId;
+	// DeliveryAttributes.origin
+	private ZonedDateTime origin;
+	// DeliveryAttributes.delivery
+	private ZonedDateTime delivery;
+	// Qualifier.MessageType.code
+	private String messageType;
+
+}
diff --git a/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaDatasAndHeader.java b/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaDatasAndHeader.java
new file mode 100644
index 0000000000000000000000000000000000000000..6a14f2d12525dfd11a64c92669e87e0b4c278f9f
--- /dev/null
+++ b/src/main/java/de/ozgcloud/xta/client/model/XtaMessageMetaDatasAndHeader.java
@@ -0,0 +1,10 @@
+package de.ozgcloud.xta.client.model;
+
+import java.util.stream.Stream;
+
+public class XtaMessageMetaDatasAndHeader {
+
+	private String msgBoxRequestID;
+	private boolean moreMessagesAvailable;
+	private Stream<XtaMessageMetaData> messages;
+}
diff --git a/src/main/java/de/ozgcloud/xtaClientLib/Main.java b/src/main/java/de/ozgcloud/xtaClientLib/Main.java
deleted file mode 100644
index 9adb04289a3523cb5630fb0a99448620c67d6f40..0000000000000000000000000000000000000000
--- a/src/main/java/de/ozgcloud/xtaClientLib/Main.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package de.ozgcloud.xtaClientLib;
-
-public class Main {
-
-	public static void main(String[] args) {
-		System.out.println("Hello World!");
-	}
-
-}