diff --git a/src/Actions/UniqElementsAction.php b/src/Actions/UniqElementsAction.php
new file mode 100644
index 0000000000000000000000000000000000000000..3aa0e139f1779dcbe693c239f8b58a5ef0f3845d
--- /dev/null
+++ b/src/Actions/UniqElementsAction.php
@@ -0,0 +1,16 @@
+<?php
+
+namespace App\Actions;
+
+class UniqElementsAction
+{
+    /**
+     * Удаляет дубликаты, оставив только уникальные значения
+     * @param array $array
+     * @return array
+     */
+    public static function act(array $array): array
+    {
+        return array_unique($array, SORT_REGULAR);
+    }
+}
\ No newline at end of file
diff --git a/src/Controller/UniqElementsController.php b/src/Controller/UniqElementsController.php
index ff46b9361e024335801fd3bf6cbd6f713c2669b4..6652b9de3ab6df59f83e9d0c39558a42f42fd2a1 100644
--- a/src/Controller/UniqElementsController.php
+++ b/src/Controller/UniqElementsController.php
@@ -2,27 +2,21 @@
 
 namespace App\Controller;
 
+use App\Actions\UniqElementsAction;
+use App\Requests\UniqElementsRequest;
 use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
 use Symfony\Component\HttpFoundation\JsonResponse;
 use Symfony\Component\HttpFoundation\Response;
 use Symfony\Component\Routing\Attribute\Route;
-use Symfony\Component\HttpFoundation\Request;
-use function App\Repository\uniqElements;
 
 class UniqElementsController extends AbstractController
 {
-    /**
-     * Контроллер удаляет дубликаты, оставив только уникальные значения используя uniqElements функцию
-     * @param Request $request
-     * @return Response
-     */
-    #[Route('/uniq/elements', name: 'app_uniq_elements')]
-    public function index(Request $request): Response
+    #[Route('/uniq/elements', name: 'app_uniq_elements', methods: ['POST'])]
+    public function index(UniqElementsRequest $request, UniqElementsAction $action): Response
     {
-        $requestArray = $request->toArray();
-
-        $return = uniqElements($requestArray);
-
-        return new JsonResponse($return, Response::HTTP_OK);
+        return new JsonResponse(
+            $action->act($request->serialise()),
+            200
+        );
     }
 }
diff --git a/src/Repository/UniqElementsRepository.php b/src/Repository/UniqElementsRepository.php
deleted file mode 100644
index 27b3d65c4fbc52ebaa209bf51400db3eed5d9449..0000000000000000000000000000000000000000
--- a/src/Repository/UniqElementsRepository.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-namespace App\Repository;
-/**
- * Удалить дубликаты, оставив только уникальные значения
- * @param array $array
- * @return array
- */
-function uniqElements(array $array): array {
-    $splitedArray = [];
-
-    foreach ($array as $tuple) {
-        $key = $tuple[0];
-        $item = $tuple[1];
-        $splitedArray[$key][] = $item;
-    }
-
-    $returnableArray = [];
-    foreach ($splitedArray as $key => $item){
-        $item = array_unique($item);
-        foreach ($item as $oneOfItem){
-            $returnableArray[] = [
-                $key,
-                $oneOfItem
-            ];
-        }
-    }
-
-    return $returnableArray;
-}
diff --git a/src/Requests/UniqElementsRequest.php b/src/Requests/UniqElementsRequest.php
new file mode 100644
index 0000000000000000000000000000000000000000..111731374bbdde336e946a1623fdb42512fe8939
--- /dev/null
+++ b/src/Requests/UniqElementsRequest.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace App\Requests;
+
+use Symfony\Component\Validator\Constraints\Type;
+use Symfony\Contracts\Service\Attribute\Required;
+
+class UniqElementsRequest extends BaseRequest
+{
+    #[Type('array')]
+    #[Required]
+    public $data;
+
+    /**
+     * @return mixed
+     */
+    public function serialise(): mixed
+    {
+        return $this->data;
+    }
+}
diff --git a/templates/uniq_elements/index.html.twig b/templates/uniq_elements/index.html.twig
new file mode 100644
index 0000000000000000000000000000000000000000..d56494b7519d691246e25955e4d51e8d7523b566
--- /dev/null
+++ b/templates/uniq_elements/index.html.twig
@@ -0,0 +1,20 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}Hello UniqElementsController!{% endblock %}
+
+{% block body %}
+<style>
+    .example-wrapper { margin: 1em auto; max-width: 800px; width: 95%; font: 18px/1.5 sans-serif; }
+    .example-wrapper code { background: #F5F5F5; padding: 2px 6px; }
+</style>
+
+<div class="example-wrapper">
+    <h1>Hello {{ controller_name }}! ✅</h1>
+
+    This friendly message is coming from:
+    <ul>
+        <li>Your controller at <code>/home/tamanit/myProj/iqdevTranningProgram/src/Controller/UniqElementsController.php</code></li>
+        <li>Your template at <code>/home/tamanit/myProj/iqdevTranningProgram/templates/uniq_elements/index.html.twig</code></li>
+    </ul>
+</div>
+{% endblock %}