diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/pom.xml b/CityDoctorParent/Extensions/CityDoctorZipLoader/pom.xml
index 3346570ce3c94b8f832392b1cf6386d2a6ca8586..84fc7de837681ed9553930747bc38f2a0e0c4229 100644
--- a/CityDoctorParent/Extensions/CityDoctorZipLoader/pom.xml
+++ b/CityDoctorParent/Extensions/CityDoctorZipLoader/pom.xml
@@ -45,6 +45,10 @@
             <groupId>org.apache.logging.log4j</groupId>
             <artifactId>log4j-slf4j18-impl</artifactId>
         </dependency>
+        <dependency>
+            <groupId>de.hft.stuttgart</groupId>
+            <artifactId>CityDoctorGUI</artifactId>
+        </dependency>
     </dependencies>
     <profiles>
         <profile>
diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderController.java b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderController.java
new file mode 100644
index 0000000000000000000000000000000000000000..9264205f5c312143920cf58b783bac2582e436a2
--- /dev/null
+++ b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderController.java
@@ -0,0 +1,24 @@
+package de.hft.stuttgart.citydoctor2.ziploader.gui;
+
+import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration;
+import de.hft.stuttgart.citydoctor2.ziploader.CityGmlArchive;
+import javafx.stage.FileChooser;
+
+import java.io.File;
+
+public class ZipLoaderController {
+
+    private ZipLoaderView zipLoaderView;
+    private ParserConfiguration config;
+    private CityGmlArchive archive;
+
+    public ZipLoaderController(ZipLoaderView zipLoaderView) {
+        this.zipLoaderView = zipLoaderView;
+
+    }
+
+    public void openZipArchive(File file){
+        archive = CityGmlArchive.fromZipFile(file.getPath(), config);
+
+    }
+}
diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderGUI.java b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderGUI.java
new file mode 100644
index 0000000000000000000000000000000000000000..03ea9af0a9b7cdbd0f1fd339ed0a3e2545031e1f
--- /dev/null
+++ b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderGUI.java
@@ -0,0 +1,12 @@
+package de.hft.stuttgart.citydoctor2.ziploader.gui;
+
+import de.hft.stuttgart.citydoctor2.gui.MainWindow;
+import de.hft.stuttgart.citydoctor2.gui.ViewRegistration;
+
+public class ZipLoaderGUI {
+
+    public static void main(String[] args) {
+        ViewRegistration.registerView(new ZipLoaderView());
+        MainWindow.main(args);
+    }
+}
diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderToolbar.java b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderToolbar.java
new file mode 100644
index 0000000000000000000000000000000000000000..a1b00c3f17a258dfdc88188a1299430d90461c33
--- /dev/null
+++ b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderToolbar.java
@@ -0,0 +1,9 @@
+package de.hft.stuttgart.citydoctor2.ziploader.gui;
+
+import de.hft.stuttgart.citydoctor2.gui.MainWindow;
+
+public class ZipLoaderToolbar {
+    public ZipLoaderToolbar(ZipLoaderController controller, MainWindow mainWindow) {
+
+    }
+}
diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderView.java b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderView.java
index 09633f22c1e59bc78e518d4a273098718238e82a..32860e165b5e8bc78ffe1a61642e7188569750d5 100644
--- a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderView.java
+++ b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderView.java
@@ -1,4 +1,86 @@
 package de.hft.stuttgart.citydoctor2.ziploader.gui;
 
-public class ZipLoaderView {
+import de.hft.stuttgart.citydoctor2.check.Checker;
+import de.hft.stuttgart.citydoctor2.datastructure.CityDoctorModel;
+import de.hft.stuttgart.citydoctor2.gui.MainWindow;
+import de.hft.stuttgart.citydoctor2.gui.View;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Node;
+import javafx.scene.image.Image;
+import javafx.scene.layout.HBox;
+import javafx.stage.FileChooser;
+import javafx.stage.Window;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Optional;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+public class ZipLoaderView extends View{
+
+    private static final Logger logger = LogManager.getLogger(ZipLoaderView.class);
+
+    Image image;
+    private Window parent;
+    private Node zipLoaderWindow;
+    private ZipLoaderController controller;
+    private ZipLoaderToolbar toolbar;
+
+
+
+    public ZipLoaderView() {
+        image = new Image(getClass().getResourceAsStream("zip.png"));
+    }
+
+    @Override
+    public Optional<HBox> getToolbar() {
+        return Optional.empty();
+    }
+
+    @Override
+    public Node getMainScreen() {
+        return null;
+    }
+
+    @Override
+    public Image getViewLogo() {
+        return image;
+    }
+
+    @Override
+    public void initializeView(MainWindow mainWindow) {
+        this.parent = mainWindow.getMainStage();
+        FXMLLoader loader = new FXMLLoader(getClass().getResource("ZipLoaderGUI.fxml"));
+        loader.setController(this);
+        try {
+            zipLoaderWindow = loader.load();
+            controller = new ZipLoaderController(this);
+            toolbar = new ZipLoaderToolbar(controller, mainWindow);
+        } catch (IOException e) {
+            logger.catching(e);
+        }
+
+    }
+
+    @Override
+    public void onHide() {
+
+    }
+
+    @Override
+    public void onShow(CityDoctorModel model, Checker checker) {
+
+    }
+
+    private void openZipArchive(){
+        FileChooser fileChooser = new FileChooser();
+        fileChooser.setTitle("Open ZIP-file");
+        fileChooser.getExtensionFilters().add(
+                new FileChooser.ExtensionFilter("Zip File", "*.zip"));
+        File selectedFile = fileChooser.showOpenDialog(parent);
+        if(selectedFile != null){
+            controller.openZipArchive(selectedFile);
+        }
+    }
 }
diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/zip.png b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/zip.png
new file mode 100644
index 0000000000000000000000000000000000000000..acdf663537eb5b282f5b563ac4d75e9951598c7e
Binary files /dev/null and b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/zip.png differ
diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderGUI.fxml b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/zipLoaderGUI.fxml
similarity index 100%
rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderGUI.fxml
rename to CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/zipLoaderGUI.fxml
diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/zipLoaderToolbar.fxml b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/zipLoaderToolbar.fxml
new file mode 100644
index 0000000000000000000000000000000000000000..e70be1865580e275ecd349223207bf0c5d75ec97
--- /dev/null
+++ b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/zipLoaderToolbar.fxml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.Separator?>
+<?import javafx.scene.control.ToggleButton?>
+<?import javafx.scene.image.ImageView?>
+<?import javafx.scene.layout.HBox?>
+
+<HBox maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" spacing="5.0" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1">
+   <children>
+      <ToggleButton fx:id="openZipBtn" mnemonicParsing="false" selected="true">
+         <graphic>
+            <ImageView fx:id="openZipImage" fitHeight="32.0" fitWidth="32.0" pickOnBounds="true" preserveRatio="true" />
+         </graphic>
+      </ToggleButton>
+      <ToggleButton fx:id="loadEntryBtn" mnemonicParsing="false">
+         <graphic>
+            <ImageView fx:id="loadEntryImage" fitHeight="32.0" fitWidth="32.0" pickOnBounds="true" preserveRatio="true" />
+         </graphic>
+      </ToggleButton>
+      <Separator orientation="VERTICAL" />
+      <HBox fx:id="spacer" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minWidth="0.0" />
+      <Button fx:id="exportZipBtn" mnemonicParsing="false">
+         <graphic>
+            <ImageView fx:id="exportZipImage" fitHeight="32.0" fitWidth="32.0" pickOnBounds="true" preserveRatio="true" />
+         </graphic>
+      </Button>
+   </children>
+   <padding>
+      <Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
+   </padding>
+</HBox>
diff --git a/CityDoctorParent/pom.xml b/CityDoctorParent/pom.xml
index 916e1aacdcd7318766aabf3f44960b4aa73f52ff..6c5ac5a741f65a5cadfa60b85e3d3c3cde3c3503 100644
--- a/CityDoctorParent/pom.xml
+++ b/CityDoctorParent/pom.xml
@@ -51,28 +51,15 @@
                 <configuration>
                     <showWarnings>true</showWarnings>
                     <showDeprecation>true</showDeprecation>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>info.picocli</groupId>
+                            <artifactId>picocli-codegen</artifactId>
+                            <version>4.7.6</version>
+                        </path>
+                    </annotationProcessorPaths>
                 </configuration>
             </plugin>
-            <plugin>
-                <groupId>org.codehaus.plexus</groupId>
-                <artifactId>plexus-compiler-api</artifactId>
-                <version>2.15.0</version>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.plexus</groupId>
-                <artifactId>plexus-compiler-manager</artifactId>
-                <version>2.15.0</version>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.plexus</groupId>
-                <artifactId>plexus-compiler-eclipse</artifactId>
-                <version>2.15.0</version>
-            </plugin>
-            <plugin>
-                <groupId>org.openjfx</groupId>
-                <artifactId>javafx-maven-plugin</artifactId>
-                <version>0.0.8</version>
-            </plugin>
         </plugins>
     </build>
     <dependencyManagement>
@@ -233,6 +220,11 @@
                 <artifactId>jakarta.xml.bind-api</artifactId>
                 <version>2.3.3</version>
             </dependency>
+            <dependency>
+                <groupId>info.picocli</groupId>
+                <artifactId>picocli</artifactId>
+                <version>4.7.6</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
     <dependencies>
@@ -257,6 +249,11 @@
             <artifactId>javafx-swing</artifactId>
             <version>${jfx-version}</version>
         </dependency>
+        <dependency>
+            <groupId>info.picocli</groupId>
+            <artifactId>picocli</artifactId>
+            <version>4.7.6</version>
+        </dependency>
     </dependencies>
     <modules>
         <!--CityDoctor2 Core Modules-->