diff --git a/src/Entity/Route.php b/src/Entity/Route.php
new file mode 100644
index 0000000..7311c22
--- /dev/null
+++ b/src/Entity/Route.php
@@ -0,0 +1,100 @@
+<?php
+
+namespace App\Entity;
+
+use Closure;
+
+class Route
+{
+    public function __construct(
+        private string $name,
+        private string $route,
+        private string $regEx,
+        private array $parameters,
+        private Closure $callback
+    )
+    {
+        // empty body
+    }
+
+    /**
+     * @return string
+     */
+    public function getName(): string
+    {
+        return $this->name;
+    }
+
+    /**
+     * @param string $name
+     */
+    public function setName(string $name): void
+    {
+        $this->name = $name;
+    }
+
+    /**
+     * @return string
+     */
+    public function getRoute(): string
+    {
+        return $this->route;
+    }
+
+    /**
+     * @param string $route
+     */
+    public function setRoute(string $route): void
+    {
+        $this->route = $route;
+    }
+
+    /**
+     * @return string
+     */
+    public function getRegEx(): string
+    {
+        return $this->regEx;
+    }
+
+    /**
+     * @param string $regEx
+     */
+    public function setRegEx(string $regEx): void
+    {
+        $this->regEx = $regEx;
+    }
+
+    /**
+     * @return array
+     */
+    public function getParameters(): array
+    {
+        return $this->parameters;
+    }
+
+    /**
+     * @param array $parameters
+     */
+    public function setParameters(array $parameters): void
+    {
+        $this->parameters = $parameters;
+    }
+
+    /**
+     * @return Closure
+     */
+    public function getCallback(): Closure
+    {
+        return $this->callback;
+    }
+
+    /**
+     * @param Closure $callback
+     */
+    public function setCallback(Closure $callback): void
+    {
+        $this->callback = $callback;
+    }
+
+}
\ No newline at end of file