diff --git a/src/controller/Controller.php b/src/controller/Controller.php
index a90d2d96434bfe80076f6c50ab72877ebfc52310..199b8767a33d4bb5eedbb2d67fb6cd47653ec503 100644
--- a/src/controller/Controller.php
+++ b/src/controller/Controller.php
@@ -20,4 +20,15 @@ class Controller{
         require_once __DIR__. "/../models/$model.php";
         return new $model();
     }
+
+    protected function render($data = []) {
+        require __DIR__ . '/../views/Routes.php';
+        $className = static::class;
+        $fileName = str_replace('Controller', '', $className);
+        $folderName = $routes[$fileName];
+
+        $view = $this->view($folderName, $fileName, $data);
+
+        $view->render();
+    }
 }
\ No newline at end of file
diff --git a/src/controller/cart/CartController.php b/src/controller/cart/CartController.php
index ab3c256b539ef5b8c1de7d37bc5b71b60aa2eb79..7f395f31712c11a41f47d0860e9c8f0804e24caf 100644
--- a/src/controller/cart/CartController.php
+++ b/src/controller/cart/CartController.php
@@ -40,15 +40,6 @@ class CartController extends Controller {
             "productFileModel" => $productFileModel
         ];
 
-        $dir = __DIR__;
-        $dir = explode("/", $dir);
-        $folderName = end($dir);
-        $className = get_class();
-        $fileName = str_replace('Controller', '', $className);
-        $view = $this->view($folderName, $fileName, $data);
-
-        $view->render();
+        $this->render($data);
     }
-
-    
 }
diff --git a/src/controller/category/CategoryController.php b/src/controller/category/CategoryController.php
index 7ce39dd54f6ebe74c77a5c56a73a6639f13893d3..2fe9dbcd70922db61722e3efb6303f665ee7fa7d 100644
--- a/src/controller/category/CategoryController.php
+++ b/src/controller/category/CategoryController.php
@@ -21,13 +21,6 @@ class CategoryController extends Controller{
             "pageLimit" => $this->pageLimit
         ];
 
-        $dir = __DIR__;
-        $dir = explode("/", $dir);
-        $folderName = end($dir);
-        $className = get_class();
-        $fileName = str_replace('Controller', '', $className);
-        $view = $this->view($folderName, $fileName, $data);
-
-        $view->render();
+        $this->render($data);
     }
 }
\ No newline at end of file
diff --git a/src/controller/home/HomeController.php b/src/controller/home/HomeController.php
index cf7df83cd1eeb1dce0dec9ac1f7a4293d3fe461a..f68fb0ecf68a6af4390755e9a7628dc3d81a9c0f 100644
--- a/src/controller/home/HomeController.php
+++ b/src/controller/home/HomeController.php
@@ -59,13 +59,6 @@ class HomeController extends Controller{
             "max-price" => $maxPrice
         ];
 
-        $dir = __DIR__;
-        $dir = explode("/", $dir);
-        $folderName = end($dir);
-        $className = get_class();
-        $fileName = str_replace('Controller', '', $className);
-        $view = $this->view($folderName, $fileName, $data);
-
-        $view->render();
+        $this->render($data);
     }
 }
\ No newline at end of file
diff --git a/src/controller/home/NotFoundController.php b/src/controller/home/NotFoundController.php
index eeb4b0a6db517d5ee342952a8c1aa62cfeb650b6..bf4a3a25f304fd928a6f91530d7e013fc54bbece 100644
--- a/src/controller/home/NotFoundController.php
+++ b/src/controller/home/NotFoundController.php
@@ -2,13 +2,6 @@
 
 class NotFoundController extends Controller{
     public function index() {
-        $dir = __DIR__;
-        $dir = explode("/", $dir);
-        $folderName = end($dir);
-        $className = get_class();
-        $fileName = str_replace('Controller', '', $className);
-        $view = $this->view($folderName, $fileName);
-
-        $view->render();
+        $this->render();
     }
 }
\ No newline at end of file
diff --git a/src/controller/login/LoginController.php b/src/controller/login/LoginController.php
index a97677a180d35b05b7d590e53aeba6fdce7019d5..3e1a25937fa7fcf901029045227189a6ee1d66f2 100644
--- a/src/controller/login/LoginController.php
+++ b/src/controller/login/LoginController.php
@@ -7,14 +7,7 @@ class LoginController extends Controller{
             exit();
         }
         
-        $dir = __DIR__;
-        $dir = explode("/", $dir);
-        $folderName = end($dir);
-        $className = get_class();
-        $fileName = str_replace('Controller', '', $className);
-        $view = $this->view($folderName, $fileName);
-
-        $view->render();
+        $this->render();
     }
 
     public function post() {
diff --git a/src/controller/login/LogoutController.php b/src/controller/login/LogoutController.php
index cc4b9b40b903b11c46ac0b6960951874693a9d2e..f758634f7a6832b30fdc84947ba5bd0f22d48f52 100644
--- a/src/controller/login/LogoutController.php
+++ b/src/controller/login/LogoutController.php
@@ -6,13 +6,6 @@ class LogoutController extends Controller{
             throw new Exception("You are not allowed to view this page", 405);
         }
         
-        $dir = __DIR__;
-        $dir = explode("/", $dir);
-        $folderName = end($dir);
-        $className = get_class();
-        $fileName = str_replace('Controller', '', $className);
-        $view = $this->view($folderName, $fileName);
-
-        $view->render();
+        $this->render();
     }
 }
\ No newline at end of file
diff --git a/src/controller/login/RegisterController.php b/src/controller/login/RegisterController.php
index 864670e1c5eebb137e95a870083a291745c5ec29..1337379ca9117146c92e2e3b1c04eca6da13e84c 100644
--- a/src/controller/login/RegisterController.php
+++ b/src/controller/login/RegisterController.php
@@ -7,14 +7,7 @@ class RegisterController extends Controller{
             exit();
         }
 
-        $dir = __DIR__;
-        $dir = explode("/", $dir);
-        $folderName = end($dir);
-        $className = get_class();
-        $fileName = str_replace('Controller', '', $className);
-        $view = $this->view($folderName, $fileName);
-
-        $view->render();
+        $this->render();
     }
 
     public function post() {
diff --git a/src/controller/product/AddProductController.php b/src/controller/product/AddProductController.php
index baed08c8c5fb5c8456d7828afa46cbefebcef691..1051a5f77be1c8c585b9991112352d83b66334d6 100644
--- a/src/controller/product/AddProductController.php
+++ b/src/controller/product/AddProductController.php
@@ -13,15 +13,7 @@ class AddProductController extends Controller{
 
         $data = $categoryModel->getCategory()->fetch_all();
 
-        // print_r($data);
-        $dir = __DIR__;
-        $dir = explode("/", $dir);
-        $folderName = end($dir);
-        $className = get_class();
-        $fileName = str_replace('Controller', '', $className);
-        $view = $this->view($folderName, $fileName, $data);
-
-        $view->render();
+        $this->render($data);
     }
 
     public function post(){
diff --git a/src/controller/product/EditProductController.php b/src/controller/product/EditProductController.php
index ef81937321eda5aedeccb406072dfe84965cdca9..d032d4f88a3e0439c234566cf31039a7ae9b3c04 100644
--- a/src/controller/product/EditProductController.php
+++ b/src/controller/product/EditProductController.php
@@ -28,14 +28,7 @@ class EditProductController extends Controller{
             'productFile' => $product_file
         ];
 
-        $dir = __DIR__;
-        $dir = explode("/", $dir);
-        $folderName = end($dir);
-        $className = get_class();
-        $fileName = str_replace('Controller', '', $className);
-        $view = $this->view($folderName, $fileName, $data);
-
-        $view->render();
+        $this->render($data);
     }
 
     public function post($id){
diff --git a/src/controller/product/ProductController.php b/src/controller/product/ProductController.php
index 748453e0e98477062d0e917ba4cfec326a2d130e..3454b17a403cd29b4286190089a66a63415d4fd3 100644
--- a/src/controller/product/ProductController.php
+++ b/src/controller/product/ProductController.php
@@ -24,13 +24,6 @@ class ProductController extends Controller{
             'productFile' => $productFile
         ];
 
-        $dir = __DIR__;
-        $dir = explode("/", $dir);
-        $folderName = end($dir);
-        $className = get_class();
-        $fileName = str_replace('Controller', '', $className);
-        $view = $this->view($folderName, $fileName, $data);
-
-        $view->render();
+        $this->render($data);
     }
 }
\ No newline at end of file
diff --git a/src/controller/profile/EditProfileController.php b/src/controller/profile/EditProfileController.php
index e27fec2bfa19687359d0e686ea34ae84aa2a53cc..3fa9d914645ba04509381eace7194037614eedd3 100644
--- a/src/controller/profile/EditProfileController.php
+++ b/src/controller/profile/EditProfileController.php
@@ -14,14 +14,7 @@ class EditProfileController extends Controller {
             $data = $userModel->getCurrentUser();
         }
 
-        $dir = __DIR__;
-        $dir = explode("/", $dir);
-        $folderName = end($dir);
-        $className = get_class();
-        $fileName = str_replace('Controller', '', $className);
-        $view = $this->view($folderName, $fileName, $data);
-
-        $view->render();
+        $this->render($data);
     }
 
     public function post() {
diff --git a/src/controller/profile/ProfileController.php b/src/controller/profile/ProfileController.php
index e052a4b61054264d000baba9da0b5d87e6fa0969..e5f3e9fea7f86acea90390249ed7c5700a81f60e 100644
--- a/src/controller/profile/ProfileController.php
+++ b/src/controller/profile/ProfileController.php
@@ -17,13 +17,6 @@ class ProfileController extends Controller
             $data = $userModel->getCurrentUser();
         }
 
-        $dir = __DIR__;
-        $dir = explode("/", $dir);
-        $folderName = end($dir);
-        $className = get_class();
-        $fileName = str_replace('Controller', '', $className);
-        $view = $this->view($folderName, $fileName, $data);
-
-        $view->render();
+        $this->render($data);
     }
 }