diff --git a/car_manager/pom.xml b/car_manager/pom.xml
index e813e21ed68232509f11479ab3ed1d04547d5b83..2ebc4a8cc702514a6b79847348a1e93c52627e0f 100644
--- a/car_manager/pom.xml
+++ b/car_manager/pom.xml
@@ -17,6 +17,10 @@
             <artifactId>jakarta.validation-api</artifactId>
             <version>3.0.2</version>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-validation</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.springdoc</groupId>
             <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
diff --git a/car_manager/src/main/java/cz/muni/pa165/carmanager/data/repository/ConfigRepository.java b/car_manager/src/main/java/cz/muni/pa165/carmanager/data/repository/ConfigRepository.java
index df2c9ea1443035e695f3c9e001f88c79857e7d2b..9b9761e3e6875f67bce0226ecd1291ffdd68548e 100644
--- a/car_manager/src/main/java/cz/muni/pa165/carmanager/data/repository/ConfigRepository.java
+++ b/car_manager/src/main/java/cz/muni/pa165/carmanager/data/repository/ConfigRepository.java
@@ -1,6 +1,6 @@
 package cz.muni.pa165.carmanager.data.repository;
 
-import cz.muni.pa165.common.racecomponents.Config;
+import cz.muni.pa165.common.racecomponents.CarConfig;
 import java.util.Optional;
 import org.springframework.stereotype.Repository;
 
@@ -11,11 +11,11 @@ import org.springframework.stereotype.Repository;
 public class ConfigRepository {
 
   // TODO doplnit v dalsom milestone
-  public Optional<Config> updateConfig(Config config) {
-    return Optional.of(config);
+  public Optional<CarConfig> updateConfig(CarConfig carConfig) {
+    return Optional.of(carConfig);
   }
 
-  public Optional<Config> createConfig(Config config) {
-    return Optional.of(config);
+  public Optional<CarConfig> createConfig(CarConfig carConfig) {
+    return Optional.of(carConfig);
   }
 }
diff --git a/car_manager/src/main/java/cz/muni/pa165/carmanager/facade/CarManagerFacade.java b/car_manager/src/main/java/cz/muni/pa165/carmanager/facade/CarManagerFacade.java
index e192eeb32bd92c6256306d18630ae694033cc0fe..2ee20a85584cdd1601f6696ca0d5a6fa529075da 100644
--- a/car_manager/src/main/java/cz/muni/pa165/carmanager/facade/CarManagerFacade.java
+++ b/car_manager/src/main/java/cz/muni/pa165/carmanager/facade/CarManagerFacade.java
@@ -1,7 +1,7 @@
 package cz.muni.pa165.carmanager.facade;
 
 import cz.muni.pa165.carmanager.service.CarManagerService;
-import cz.muni.pa165.common.racecomponents.Config;
+import cz.muni.pa165.common.racecomponents.CarConfig;
 import org.springframework.stereotype.Service;
 
 /**
@@ -16,11 +16,11 @@ public class CarManagerFacade {
     this.carManagerService = carManagerService;
   }
 
-  public Config createConfig(Config config) {
-    return carManagerService.createConfig(config);
+  public CarConfig createConfig(CarConfig carConfig) {
+    return carManagerService.createConfig(carConfig);
   }
 
-  public Config updateConfig(Config config) {
-    return carManagerService.updateConfig(config);
+  public CarConfig updateConfig(CarConfig carConfig) {
+    return carManagerService.updateConfig(carConfig);
   }
 }
diff --git a/car_manager/src/main/java/cz/muni/pa165/carmanager/rest/CarManagerController.java b/car_manager/src/main/java/cz/muni/pa165/carmanager/rest/CarManagerController.java
index a05270d1bd635a5e859b78e3678fb3251a0aab95..7ceca768afba8dfb4dc9f8b1e5fbb8e1eebd21cf 100644
--- a/car_manager/src/main/java/cz/muni/pa165/carmanager/rest/CarManagerController.java
+++ b/car_manager/src/main/java/cz/muni/pa165/carmanager/rest/CarManagerController.java
@@ -1,11 +1,9 @@
 package cz.muni.pa165.carmanager.rest;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
 import cz.muni.pa165.carmanager.facade.CarManagerFacade;
-import cz.muni.pa165.common.racecomponents.Config;
+import cz.muni.pa165.common.racecomponents.CarConfig;
 import io.swagger.v3.oas.annotations.Operation;
 import jakarta.validation.Valid;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 import org.springframework.validation.annotation.Validated;
@@ -32,14 +30,14 @@ public class CarManagerController {
   @Operation(summary = "Create a configuration")
   @PostMapping(path = "/config", consumes = MediaType.APPLICATION_JSON_VALUE,
       produces = MediaType.APPLICATION_JSON_VALUE)
-  public ResponseEntity<Config> createConfig(@Valid @RequestBody Config config) {
-    return ResponseEntity.ok(carManagerFacade.createConfig(config));
+  public ResponseEntity<CarConfig> createConfig(@Valid @RequestBody CarConfig carConfig) {
+    return ResponseEntity.ok(carManagerFacade.createConfig(carConfig));
   }
 
   @Operation(summary = "Update a specific configuration")
   @PutMapping(path = "/config", consumes = MediaType.APPLICATION_JSON_VALUE,
       produces = MediaType.APPLICATION_JSON_VALUE)
-  public ResponseEntity<Config> updateConfig(@Valid @RequestBody Config config) {
-    return ResponseEntity.ok(carManagerFacade.updateConfig(config));
+  public ResponseEntity<CarConfig> updateConfig(@Valid @RequestBody CarConfig carConfig) {
+    return ResponseEntity.ok(carManagerFacade.updateConfig(carConfig));
   }
 }
diff --git a/car_manager/src/main/java/cz/muni/pa165/carmanager/service/CarManagerService.java b/car_manager/src/main/java/cz/muni/pa165/carmanager/service/CarManagerService.java
index 50e388bb023187a7a0678c9bf6c1da7c4f6f9cf6..73024ea2cea6dd645dda6db09dd68711a5135d4a 100644
--- a/car_manager/src/main/java/cz/muni/pa165/carmanager/service/CarManagerService.java
+++ b/car_manager/src/main/java/cz/muni/pa165/carmanager/service/CarManagerService.java
@@ -1,7 +1,9 @@
 package cz.muni.pa165.carmanager.service;
 
 import cz.muni.pa165.carmanager.data.repository.ConfigRepository;
-import cz.muni.pa165.common.racecomponents.Config;
+import cz.muni.pa165.common.exceptions.DatabaseException;
+import cz.muni.pa165.common.exceptions.ResourceNotFoundException;
+import cz.muni.pa165.common.racecomponents.CarConfig;
 import org.springframework.stereotype.Service;
 
 /**
@@ -19,23 +21,23 @@ public class CarManagerService {
   /**
    * Calls repository to update specific config, if not found, throws exception.
    *
-   * @param config config to update.
+   * @param carConfig config to update.
    * @return Updated config.
    */
-  public Config updateConfig(Config config) {
-    return configRepository.updateConfig(config)
+  public CarConfig updateConfig(CarConfig carConfig) {
+    return configRepository.updateConfig(carConfig)
         .orElseThrow(() -> new ResourceNotFoundException(
-            "Config with id: " + config.getId() + " was not found."));
+            "Config with id: " + carConfig.getId() + " was not found."));
   }
 
   /**
    * Calls repository to create a config, if query is not executed correctly, throws exception.
    *
-   * @param config config to update.
+   * @param carConfig config to update.
    * @return Updated config.
    */
-  public Config createConfig(Config config) {
-    return configRepository.createConfig(config)
+  public CarConfig createConfig(CarConfig carConfig) {
+    return configRepository.createConfig(carConfig)
         .orElseThrow(
             () -> new DatabaseException("Something went wrong when"
                 + "creating the config in database."));
diff --git a/car_manager/src/main/java/cz/muni/pa165/carmanager/service/DatabaseException.java b/common/src/main/java/cz/muni/pa165/common/exceptions/DatabaseException.java
similarity index 81%
rename from car_manager/src/main/java/cz/muni/pa165/carmanager/service/DatabaseException.java
rename to common/src/main/java/cz/muni/pa165/common/exceptions/DatabaseException.java
index 5d33f18db7a49e8a5f105e36dfd0554c464f74b2..2b2bef4ab34d9defbcb0f2176d4681de1da51d0c 100644
--- a/car_manager/src/main/java/cz/muni/pa165/carmanager/service/DatabaseException.java
+++ b/common/src/main/java/cz/muni/pa165/common/exceptions/DatabaseException.java
@@ -1,4 +1,4 @@
-package cz.muni.pa165.carmanager.service;
+package cz.muni.pa165.common.exceptions;
 
 /**
  * Exception when a query does is not executed correctly.
diff --git a/car_manager/src/main/java/cz/muni/pa165/carmanager/service/ResourceNotFoundException.java b/common/src/main/java/cz/muni/pa165/common/exceptions/ResourceNotFoundException.java
similarity index 82%
rename from car_manager/src/main/java/cz/muni/pa165/carmanager/service/ResourceNotFoundException.java
rename to common/src/main/java/cz/muni/pa165/common/exceptions/ResourceNotFoundException.java
index ddfe6f14ce3f609e01cb01f7fbe51e1e8fe4b20a..5fcc0c8e1560a546c0e7812c32eb99ffc38c4cd2 100644
--- a/car_manager/src/main/java/cz/muni/pa165/carmanager/service/ResourceNotFoundException.java
+++ b/common/src/main/java/cz/muni/pa165/common/exceptions/ResourceNotFoundException.java
@@ -1,4 +1,4 @@
-package cz.muni.pa165.carmanager.service;
+package cz.muni.pa165.common.exceptions;
 
 /**
  * Exception when resource does not exist.
diff --git a/common/src/main/java/cz/muni/pa165/common/racecomponents/Car.java b/common/src/main/java/cz/muni/pa165/common/racecomponents/Car.java
index 6e55be82f0ccddbbd07c0b43cbcd0ce3490e21ca..7862ea5e40f7e5fdbcbfe7afc69eca62e3ecf532 100644
--- a/common/src/main/java/cz/muni/pa165/common/racecomponents/Car.java
+++ b/common/src/main/java/cz/muni/pa165/common/racecomponents/Car.java
@@ -1,5 +1,6 @@
 package cz.muni.pa165.common.racecomponents;
 
+import jakarta.validation.Valid;
 import jakarta.validation.constraints.NotNull;
 import java.util.List;
 import lombok.Data;
@@ -12,9 +13,10 @@ public class Car {
   private Long id;
 
   @NotNull
-  private Config config;
+  @Valid
+  private CarConfig carConfig;
   @NotNull
-  private List<Driver> drivers;
+  private List<@Valid Driver> drivers;
 
 }
 
diff --git a/common/src/main/java/cz/muni/pa165/common/racecomponents/Config.java b/common/src/main/java/cz/muni/pa165/common/racecomponents/CarConfig.java
similarity index 84%
rename from common/src/main/java/cz/muni/pa165/common/racecomponents/Config.java
rename to common/src/main/java/cz/muni/pa165/common/racecomponents/CarConfig.java
index 9259f1cae1afe29eaeffa1c46b9c0536fcf9727a..411a35874930e2b2bb785060c7a653bb2d624995 100644
--- a/common/src/main/java/cz/muni/pa165/common/racecomponents/Config.java
+++ b/common/src/main/java/cz/muni/pa165/common/racecomponents/CarConfig.java
@@ -3,6 +3,7 @@ package cz.muni.pa165.common.racecomponents;
 import cz.muni.pa165.common.racecomponents.carcomponents.Engine;
 import cz.muni.pa165.common.racecomponents.carcomponents.Spoiler;
 import cz.muni.pa165.common.racecomponents.carcomponents.Tires;
+import jakarta.validation.Valid;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 
@@ -10,14 +11,17 @@ import lombok.Data;
  * Configuration class.
  */
 @Data
-public class Config {
+public class CarConfig {
 
   private Long id;
 
   @NotNull
+  @Valid
   private Engine engine;
   @NotNull
+  @Valid
   private Tires tires;
   @NotNull
+  @Valid
   private Spoiler spoiler;
 }
diff --git a/common/src/main/java/cz/muni/pa165/common/racecomponents/Driver.java b/common/src/main/java/cz/muni/pa165/common/racecomponents/Driver.java
index 8f3637c36cfc3c1708e2248fed87dfe52c19394f..cab03312a0ba34877c7e465b220d54730e78f5ac 100644
--- a/common/src/main/java/cz/muni/pa165/common/racecomponents/Driver.java
+++ b/common/src/main/java/cz/muni/pa165/common/racecomponents/Driver.java
@@ -1,5 +1,6 @@
 package cz.muni.pa165.common.racecomponents;
 
+import jakarta.validation.Valid;
 import jakarta.validation.constraints.NotNull;
 import java.util.Set;
 import lombok.Data;
diff --git a/common/src/main/java/cz/muni/pa165/common/racecomponents/Race.java b/common/src/main/java/cz/muni/pa165/common/racecomponents/Race.java
index 749c58e15fdbdcb604745d1035e2b2f797bbccb3..0c590d2aae68669d7cd6e60ca9d8f253eeabd98f 100644
--- a/common/src/main/java/cz/muni/pa165/common/racecomponents/Race.java
+++ b/common/src/main/java/cz/muni/pa165/common/racecomponents/Race.java
@@ -1,6 +1,7 @@
 package cz.muni.pa165.common.racecomponents;
 
 import ch.qos.logback.core.joran.sanity.Pair;
+import jakarta.validation.Valid;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 
@@ -19,9 +20,9 @@ public class Race {
   private String name;
 
   @NotNull
-  private Pair<Driver, Car> vehicle1;
+  private Pair<@Valid Driver,@Valid Car> vehicle1;
 
   @NotNull
-  private Pair<Driver, Car> vehicle2;
+  private Pair<@Valid Driver,@Valid Car> vehicle2;
 }
 
diff --git a/mvnw.cmd b/mvnw.cmd
index 1d8ab018eaf11d9b3a4a90e7818ace373dfbb380..4a87c3318f7f209adcf7302966b0be3aa70d4b9a 100644
--- a/mvnw.cmd
+++ b/mvnw.cmd
@@ -108,10 +108,10 @@ cd "%EXEC_DIR%"
 
 :endDetectBaseDir
 
-IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.carConfig" goto endReadAdditionalConfig
 
 @setlocal EnableExtensions EnableDelayedExpansion
-for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.carConfig") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
 @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
 
 :endReadAdditionalConfig