diff --git a/exercise_0303/go.mod b/exercise_0303/go.mod
new file mode 100644
index 0000000000000000000000000000000000000000..3c219f0bc4fc506f72016dc92f087468a3a7a5e3
--- /dev/null
+++ b/exercise_0303/go.mod
@@ -0,0 +1,3 @@
+module gitlab.reutlingen-university.de/go-exercises/go-starter/exercise_0303
+
+go 1.20
diff --git a/exercise_0303/main.go b/exercise_0303/main.go
new file mode 100644
index 0000000000000000000000000000000000000000..933320204f237ee8a9888bbef26eb2d977612e9e
--- /dev/null
+++ b/exercise_0303/main.go
@@ -0,0 +1,29 @@
+package main
+
+import "fmt"
+
+type Point struct {
+	x int
+	y int
+}
+
+type Rectangle struct {
+	origin Point
+	width  float32
+	height float32
+}
+
+func main() {
+
+	rectangle := Rectangle{
+		origin: Point{
+			x: 10,
+			y: 10,
+		},
+		width:  27.9,
+		height: 44.876,
+	}
+
+	fmt.Printf("%v\n", rectangle)
+
+}