diff --git a/src/aliensimulator/AlienSimulator.java b/src/aliensimulator/AlienSimulator.java
index b3551771bbc96780626a88f5a707e646d979047f..216b119a56407ec5c906b4b2fc12000c4f08a599 100644
--- a/src/aliensimulator/AlienSimulator.java
+++ b/src/aliensimulator/AlienSimulator.java
@@ -6,6 +6,7 @@ import aliensimulator.aliens.*;
 import aliensimulator.predators.Predator;
 import aliensimulator.predators.PredatorFactory;
 import aliensimulator.predators.Yautja;
+import aliensimulator.ufos.Ufo;
 import aliensimulator.verhalten.ErdeFreundlichBesuchen;
 import aliensimulator.verhalten.ErdeNeutralAdapter;
 
@@ -51,5 +52,15 @@ public class AlienSimulator {
 		yautja.fliegen();
 		yautja.erdeBesuchen();
 
+		// TODO create Alien Sternenkreuzer
+		// System.out.println(alienSternenkreuzer);
+		// TODO create Alien Transportschiff
+		//System.out.println(alienTransportschiff);
+
+		// TODO create Predator Sternenkreuzer
+		//System.out.println(predatorSternenkreuzer);
+		// TODO create Predator Transportschiff
+		//System.out.println(predatorTransportschiff);
+
 	}
 }
diff --git a/src/aliensimulator/ufos/Sternenkreuzer.java b/src/aliensimulator/ufos/Sternenkreuzer.java
new file mode 100644
index 0000000000000000000000000000000000000000..a501accd1f43786bb2bde4aa4420d5b675f5a6e8
--- /dev/null
+++ b/src/aliensimulator/ufos/Sternenkreuzer.java
@@ -0,0 +1,16 @@
+package aliensimulator.ufos;
+
+
+public class Sternenkreuzer extends Ufo {
+
+    public Sternenkreuzer() {
+        super();
+    }
+
+    public void herstellen() {
+    }
+
+    public String toString() {
+        return "Sternenkreuzer\n" + super.toString();
+    }
+}
diff --git a/src/aliensimulator/ufos/Transportschiff.java b/src/aliensimulator/ufos/Transportschiff.java
new file mode 100644
index 0000000000000000000000000000000000000000..a71c777f18db0f6ab99824de71975ed13accdfbb
--- /dev/null
+++ b/src/aliensimulator/ufos/Transportschiff.java
@@ -0,0 +1,16 @@
+package aliensimulator.ufos;
+
+
+public class Transportschiff extends Ufo {
+
+    public Transportschiff() {
+        super();
+    }
+
+    public void herstellen() {
+    }
+
+    public String toString() {
+        return "Transportschiff\n" + super.toString();
+    }
+}
diff --git a/src/aliensimulator/ufos/Ufo.java b/src/aliensimulator/ufos/Ufo.java
new file mode 100644
index 0000000000000000000000000000000000000000..0a30abb431a19e9ec95921d70f7525c31326be57
--- /dev/null
+++ b/src/aliensimulator/ufos/Ufo.java
@@ -0,0 +1,67 @@
+package aliensimulator.ufos;
+
+import aliensimulator.ufos.komponenten.Antrieb;
+import aliensimulator.ufos.komponenten.Schild;
+import aliensimulator.ufos.komponenten.Waffe;
+
+public abstract class Ufo {
+    String name;
+    Antrieb antrieb;
+    Schild schild;
+    Waffe waffe;
+
+    public abstract void herstellen();
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Antrieb getAntrieb() {
+        return antrieb;
+    }
+
+    public void setAntrieb(Antrieb antrieb) {
+        this.antrieb = antrieb;
+    }
+
+    public Schild getSchild() {
+        return schild;
+    }
+
+    public void setSchild(Schild schild) {
+        this.schild = schild;
+    }
+
+    public Waffe getWaffe() {
+        return waffe;
+    }
+
+    public void setWaffe(Waffe waffe) {
+        this.waffe = waffe;
+    }
+
+
+    @Override
+    public String toString() {
+        StringBuffer result = new StringBuffer();
+        result.append("Name: " + name + "\n");
+
+        if (antrieb != null) {
+            result.append(antrieb + "\n");
+        }
+
+        if (schild != null) {
+            result.append(schild + "\n");
+        }
+
+        if (waffe != null) {
+            result.append(waffe + "\n");
+        }
+
+        return result.toString();
+    }
+}
diff --git a/src/aliensimulator/ufos/komponenten/Antrieb.java b/src/aliensimulator/ufos/komponenten/Antrieb.java
new file mode 100644
index 0000000000000000000000000000000000000000..d7f7fdc8c0f38fa0eb0841546886254569003954
--- /dev/null
+++ b/src/aliensimulator/ufos/komponenten/Antrieb.java
@@ -0,0 +1,5 @@
+package aliensimulator.ufos.komponenten;
+
+public interface Antrieb {
+    public String toString();
+}
diff --git a/src/aliensimulator/ufos/komponenten/Hyperantrieb.java b/src/aliensimulator/ufos/komponenten/Hyperantrieb.java
new file mode 100644
index 0000000000000000000000000000000000000000..a2e8d0ad1d07cfc229d3a89c86da9dbdcd32bfdb
--- /dev/null
+++ b/src/aliensimulator/ufos/komponenten/Hyperantrieb.java
@@ -0,0 +1,8 @@
+package aliensimulator.ufos.komponenten;
+
+public class Hyperantrieb implements Antrieb {
+    @Override
+    public String toString() {
+        return "Hyperantrieb";
+    }
+}
diff --git a/src/aliensimulator/ufos/komponenten/Laserkanone.java b/src/aliensimulator/ufos/komponenten/Laserkanone.java
new file mode 100644
index 0000000000000000000000000000000000000000..04def289cf1a52ebfb164bef4568fe883ceb4057
--- /dev/null
+++ b/src/aliensimulator/ufos/komponenten/Laserkanone.java
@@ -0,0 +1,8 @@
+package aliensimulator.ufos.komponenten;
+
+public class Laserkanone implements Waffe {
+    @Override
+    public String toString() {
+        return "Laserkanone";
+    }
+}
\ No newline at end of file
diff --git a/src/aliensimulator/ufos/komponenten/Metaphasenschild.java b/src/aliensimulator/ufos/komponenten/Metaphasenschild.java
new file mode 100644
index 0000000000000000000000000000000000000000..7139e8864c324f5cd06e33cb79141b444574ba2e
--- /dev/null
+++ b/src/aliensimulator/ufos/komponenten/Metaphasenschild.java
@@ -0,0 +1,8 @@
+package aliensimulator.ufos.komponenten;
+
+public class Metaphasenschild implements Schild {
+    @Override
+    public String toString() {
+        return "Metaphasenschild";
+    }
+}
\ No newline at end of file
diff --git a/src/aliensimulator/ufos/komponenten/Phaserkanone.java b/src/aliensimulator/ufos/komponenten/Phaserkanone.java
new file mode 100644
index 0000000000000000000000000000000000000000..ff2b82c3cb9ca8d973a175bafd86a0b2ae0c112f
--- /dev/null
+++ b/src/aliensimulator/ufos/komponenten/Phaserkanone.java
@@ -0,0 +1,8 @@
+package aliensimulator.ufos.komponenten;
+
+public class Phaserkanone implements Waffe {
+    @Override
+    public String toString() {
+        return "Phaserkanone";
+    }
+}
\ No newline at end of file
diff --git a/src/aliensimulator/ufos/komponenten/Schild.java b/src/aliensimulator/ufos/komponenten/Schild.java
new file mode 100644
index 0000000000000000000000000000000000000000..ccb0c1c155184d3a222546178aa911341850618d
--- /dev/null
+++ b/src/aliensimulator/ufos/komponenten/Schild.java
@@ -0,0 +1,5 @@
+package aliensimulator.ufos.komponenten;
+
+public interface Schild {
+    public String toString();
+}
diff --git a/src/aliensimulator/ufos/komponenten/Verteidigungsschild.java b/src/aliensimulator/ufos/komponenten/Verteidigungsschild.java
new file mode 100644
index 0000000000000000000000000000000000000000..8b29b17c44cfb379b906eae178025a8ebc2ac0b2
--- /dev/null
+++ b/src/aliensimulator/ufos/komponenten/Verteidigungsschild.java
@@ -0,0 +1,8 @@
+package aliensimulator.ufos.komponenten;
+
+public class Verteidigungsschild implements Schild {
+    @Override
+    public String toString() {
+        return "Verteidigungsschild";
+    }
+}
\ No newline at end of file
diff --git a/src/aliensimulator/ufos/komponenten/Waffe.java b/src/aliensimulator/ufos/komponenten/Waffe.java
new file mode 100644
index 0000000000000000000000000000000000000000..02cb6a7f56d442cd73aaebddab22531bc44c77cc
--- /dev/null
+++ b/src/aliensimulator/ufos/komponenten/Waffe.java
@@ -0,0 +1,5 @@
+package aliensimulator.ufos.komponenten;
+
+public interface Waffe {
+    public String toString();
+}
diff --git a/src/aliensimulator/ufos/komponenten/Warpantrieb.java b/src/aliensimulator/ufos/komponenten/Warpantrieb.java
new file mode 100644
index 0000000000000000000000000000000000000000..c2faa88ebca1bad16e495889a4f266940f4fe848
--- /dev/null
+++ b/src/aliensimulator/ufos/komponenten/Warpantrieb.java
@@ -0,0 +1,8 @@
+package aliensimulator.ufos.komponenten;
+
+public class Warpantrieb implements Antrieb {
+    @Override
+    public String toString() {
+        return "Warpantrieb";
+    }
+}