diff --git a/src/Actions/CountFriday13Action.php b/src/Actions/CountFriday13Action.php
new file mode 100644
index 0000000000000000000000000000000000000000..c7986cd84ca2880d10e25b391da5d684f6e02888
--- /dev/null
+++ b/src/Actions/CountFriday13Action.php
@@ -0,0 +1,27 @@
+<?php
+
+namespace App\Actions;
+
+use DateTimeImmutable;
+
+class CountFriday13Action
+{
+    /**
+     * Вернет все пятницы 13 в году
+     * @param int $year год, в котором необходимо произвести расчет
+     * @return DateTimeImmutable[]
+     */
+    public function act(int $year): array
+    {
+        $AllFri13 = [];
+
+        for ($i = 1; $i <= 12; $i++) {
+            $next13 = (new DateTimeImmutable())->setDate($year, $i, 13);
+
+            if ($next13->format("D") === "Fri") {
+                $AllFri13[] = $next13;
+            }
+        }
+        return $AllFri13;
+    }
+}
diff --git a/src/Controller/CountFriday13Controller.php b/src/Controller/CountFriday13Controller.php
index 88e200c568b45e97e1493785f5da7b6406e3632b..dc3e7418aa51adf6719b9ca799e9f6381693f8fb 100644
--- a/src/Controller/CountFriday13Controller.php
+++ b/src/Controller/CountFriday13Controller.php
@@ -2,27 +2,24 @@
 
 namespace App\Controller;
 
+use App\Actions\CountFriday13Action;
+use App\Requests\AllFri13Request;
 use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
 use Symfony\Component\HttpFoundation\JsonResponse;
-use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\HttpFoundation\Response;
 use Symfony\Component\Routing\Attribute\Route;
-use function App\Repository\countFriday13;
 
 class CountFriday13Controller extends AbstractController
 {
     /**
      * git Контроллер вернет все пятницы 13 в году используя countFriday13 функцию
-     * @param Request $request
+     * @param AllFri13Request $request
+     * @param CountFriday13Action $action
      * @return Response
      */
     #[Route('/count/friday13', name: 'app_count_friday13')]
-    public function index(Request $request): Response
+    public function index(AllFri13Request $request, CountFriday13Action $action): Response
     {
-        $year = $request->toArray()['year'];
-
-        $returnableArray = countFriday13($year);
-
-        return new JsonResponse($returnableArray, Response::HTTP_OK);
+        return new JsonResponse($action->act($request->serialise()));
     }
 }
diff --git a/src/Repository/CountFriday13Repository.php b/src/Repository/CountFriday13Repository.php
deleted file mode 100644
index 8d3e0d788950577c47d72cb4da443d468d535ad5..0000000000000000000000000000000000000000
--- a/src/Repository/CountFriday13Repository.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-namespace App\Repository;
-use DateTimeImmutable;
-
-/**
- * Вернет все пятницы 13 в году
- * @param int $yaer год, в котором необходимо произвести расчет
- * @return DateTimeImmutable[]
- */
-function countFriday13(int $year): iterable {
-    $date = new DateTimeImmutable();
-    $AllFri13 = [];
-
-    for ($i = 1; $i<=12; $i++ ){
-        $next13 = $date->setDate($year, $i, 13);
-
-        if ($next13->format("D") === 'Fri'){
-            $AllFri13[] = $next13;
-        }
-    }
-    return $AllFri13;
-}
diff --git a/src/Requests/AllFri13Request.php b/src/Requests/AllFri13Request.php
new file mode 100644
index 0000000000000000000000000000000000000000..d98cebb598d5216595bfd7c89d2b6e2b91662619
--- /dev/null
+++ b/src/Requests/AllFri13Request.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace App\Requests;
+
+use Symfony\Component\Validator\Constraints\Positive;
+use Symfony\Component\Validator\Constraints\Type;
+
+class AllFri13Request extends BaseRequest
+{
+    #[Type('integer')]
+    #[Positive]
+    public $year;
+
+    /**
+     * @return mixed
+     */
+    public function serialise(): int
+    {
+        return (int) $this->year;
+    }
+}
\ No newline at end of file