diff --git a/application/module-certificate/src/main/java/org/fuseri/modulecertificate/Certificate.java b/application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/Certificate.java
similarity index 98%
rename from application/module-certificate/src/main/java/org/fuseri/modulecertificate/Certificate.java
rename to application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/Certificate.java
index 3b9b0a94666ab63b462e85c64e177f467769cb20..38c6b94678066cc9d7cf2626a97c94a72404a732 100644
--- a/application/module-certificate/src/main/java/org/fuseri/modulecertificate/Certificate.java
+++ b/application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/Certificate.java
@@ -1,4 +1,4 @@
-package org.fuseri.modulecertificate;
+package org.fuseri.modulecertificate.certificate;
 
 import jakarta.persistence.*;
 
diff --git a/application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CertificateController.java b/application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/CertificateController.java
similarity index 98%
rename from application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CertificateController.java
rename to application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/CertificateController.java
index 91ee0e5d7491c657b2b4e1189c020f39453068d9..e191283329ee820a16f2ad6ac5f250384f3be435 100644
--- a/application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CertificateController.java
+++ b/application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/CertificateController.java
@@ -1,9 +1,8 @@
-package org.fuseri.modulecertificate.service;
+package org.fuseri.modulecertificate.certificate;
 
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.responses.ApiResponse;
 import io.swagger.v3.oas.annotations.responses.ApiResponses;
-import jakarta.persistence.EntityNotFoundException;
 import jakarta.validation.Valid;
 import jakarta.validation.constraints.NotNull;
 import org.fuseri.model.dto.certificate.CertificateCreateDto;
diff --git a/application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CertificateFacade.java b/application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/CertificateFacade.java
similarity index 97%
rename from application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CertificateFacade.java
rename to application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/CertificateFacade.java
index 018c0591e6e30f92730d5cf7374fa26defca3b23..b3524b9779b200eac627f490eff73890d5ea531e 100644
--- a/application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CertificateFacade.java
+++ b/application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/CertificateFacade.java
@@ -1,4 +1,4 @@
-package org.fuseri.modulecertificate.service;
+package org.fuseri.modulecertificate.certificate;
 
 
 import org.fuseri.model.dto.certificate.CertificateCreateDto;
diff --git a/application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CertificateMapper.java b/application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/CertificateMapper.java
similarity index 90%
rename from application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CertificateMapper.java
rename to application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/CertificateMapper.java
index f6738c4428f97b4bb6cacf0b2806491aabf00e8b..f806843fb0b439d51b8d496dea091d956fd2de16 100644
--- a/application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CertificateMapper.java
+++ b/application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/CertificateMapper.java
@@ -1,9 +1,7 @@
-package org.fuseri.modulecertificate.service;
+package org.fuseri.modulecertificate.certificate;
 
 import org.fuseri.model.dto.certificate.CertificateCreateDto;
-import org.fuseri.model.dto.certificate.CertificateDto;
 import org.fuseri.model.dto.certificate.CertificateSimpleDto;
-import org.fuseri.modulecertificate.Certificate;
 import org.mapstruct.Mapper;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
diff --git a/application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CertificateRepository.java b/application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/CertificateRepository.java
similarity index 85%
rename from application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CertificateRepository.java
rename to application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/CertificateRepository.java
index 832d2d22d002b82e3a93287f4382cfa66273b56d..367431f98c3b62f1e883e165ba1c379c2f640aa8 100644
--- a/application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CertificateRepository.java
+++ b/application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/CertificateRepository.java
@@ -1,6 +1,5 @@
-package org.fuseri.modulecertificate.service;
+package org.fuseri.modulecertificate.certificate;
 
-import org.fuseri.modulecertificate.Certificate;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.stereotype.Repository;
diff --git a/application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CertificateService.java b/application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/CertificateService.java
similarity index 94%
rename from application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CertificateService.java
rename to application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/CertificateService.java
index 245c88c35ea55f4d59d0d01ed2b15290fddc42ed..a32a659ca5f06da29e69190cc90503c8f47c27ff 100644
--- a/application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CertificateService.java
+++ b/application/module-certificate/src/main/java/org/fuseri/modulecertificate/certificate/CertificateService.java
@@ -1,6 +1,5 @@
-package org.fuseri.modulecertificate.service;
+package org.fuseri.modulecertificate.certificate;
 
-import org.fuseri.modulecertificate.Certificate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
diff --git a/application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/ApiError.java b/application/module-certificate/src/main/java/org/fuseri/modulecertificate/exceptions/ApiError.java
similarity index 96%
rename from application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/ApiError.java
rename to application/module-certificate/src/main/java/org/fuseri/modulecertificate/exceptions/ApiError.java
index 8a48a45fb884bab762528796e10f0140f93d6eb3..9f8a19a73a22196f1c7252f83bb51a5c031e5114 100644
--- a/application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/ApiError.java
+++ b/application/module-certificate/src/main/java/org/fuseri/modulecertificate/exceptions/ApiError.java
@@ -1,4 +1,4 @@
-package org.fuseri.modulecertificate.service;
+package org.fuseri.modulecertificate.exceptions;
 
 import org.springframework.http.HttpStatus;
 
diff --git a/application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CustomRestGlobalExceptionHandling.java b/application/module-certificate/src/main/java/org/fuseri/modulecertificate/exceptions/CustomRestGlobalExceptionHandling.java
similarity index 97%
rename from application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CustomRestGlobalExceptionHandling.java
rename to application/module-certificate/src/main/java/org/fuseri/modulecertificate/exceptions/CustomRestGlobalExceptionHandling.java
index a92bf270060b09488dcab015ad1ef2321ae5735a..8284014b3b7a8ed7d0955a699c65b633b32bf8e9 100644
--- a/application/module-certificate/src/main/java/org/fuseri/modulecertificate/service/CustomRestGlobalExceptionHandling.java
+++ b/application/module-certificate/src/main/java/org/fuseri/modulecertificate/exceptions/CustomRestGlobalExceptionHandling.java
@@ -1,4 +1,4 @@
-package org.fuseri.modulecertificate.service;
+package org.fuseri.modulecertificate.exceptions;
 
 /**
  * @author Michal Badin - Formula 1 team
diff --git a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateControllerTests.java b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateControllerTests.java
index d4d4e27c5bd6171eaf339987ad139196d19ca3dc..7f9d7ba786b3b1f382d46698ea61e66c9d225007 100644
--- a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateControllerTests.java
+++ b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateControllerTests.java
@@ -9,7 +9,7 @@ import org.fuseri.model.dto.course.ProficiencyLevelDto;
 import org.fuseri.model.dto.user.AddressDto;
 import org.fuseri.model.dto.user.UserDto;
 import org.fuseri.model.dto.user.UserType;
-import org.fuseri.modulecertificate.service.CertificateFacade;
+import org.fuseri.modulecertificate.certificate.CertificateFacade;
 import org.junit.jupiter.api.Test;
 import org.mockito.ArgumentMatchers;
 import org.mockito.Mockito;
diff --git a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateFacadeTests.java b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateFacadeTests.java
index 6875ef6247bd33155f98d8bf6c651cabc2fd0f04..7ef75612fa23a567d1a77bee81c3f0440fafb1b6 100644
--- a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateFacadeTests.java
+++ b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateFacadeTests.java
@@ -8,9 +8,10 @@ import org.fuseri.model.dto.course.ProficiencyLevelDto;
 import org.fuseri.model.dto.user.AddressDto;
 import org.fuseri.model.dto.user.UserDto;
 import org.fuseri.model.dto.user.UserType;
-import org.fuseri.modulecertificate.service.CertificateFacade;
-import org.fuseri.modulecertificate.service.CertificateMapper;
-import org.fuseri.modulecertificate.service.CertificateService;
+import org.fuseri.modulecertificate.certificate.Certificate;
+import org.fuseri.modulecertificate.certificate.CertificateFacade;
+import org.fuseri.modulecertificate.certificate.CertificateMapper;
+import org.fuseri.modulecertificate.certificate.CertificateService;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
diff --git a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateMapperTests.java b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateMapperTests.java
index 00cf08aa380c2a3d068315df2bbd5119c7acb08d..b683de8a7df391520f198ac760a0722873abfa0c 100644
--- a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateMapperTests.java
+++ b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateMapperTests.java
@@ -8,7 +8,8 @@ import org.fuseri.model.dto.course.ProficiencyLevelDto;
 import org.fuseri.model.dto.user.AddressDto;
 import org.fuseri.model.dto.user.UserDto;
 import org.fuseri.model.dto.user.UserType;
-import org.fuseri.modulecertificate.service.CertificateMapper;
+import org.fuseri.modulecertificate.certificate.Certificate;
+import org.fuseri.modulecertificate.certificate.CertificateMapper;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateRepositoryTests.java b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateRepositoryTests.java
index 34ca57badbed1ae6a79c31b20ef4f810e40fc14c..08ae933b958fea4bfc16265c9bd209a6f443ddf7 100644
--- a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateRepositoryTests.java
+++ b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateRepositoryTests.java
@@ -1,6 +1,7 @@
 package org.fuseri.modulecertificate;
 
-import org.fuseri.modulecertificate.service.CertificateRepository;
+import org.fuseri.modulecertificate.certificate.Certificate;
+import org.fuseri.modulecertificate.certificate.CertificateRepository;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateServiceTests.java b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateServiceTests.java
index dc11b78a1734722c0926a440e16329a8853bfeff..4ab79d90ffbd16c7bd4e521bc93e73d7ebbdcba9 100644
--- a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateServiceTests.java
+++ b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateServiceTests.java
@@ -6,8 +6,9 @@ import org.fuseri.model.dto.course.ProficiencyLevelDto;
 import org.fuseri.model.dto.user.AddressDto;
 import org.fuseri.model.dto.user.UserDto;
 import org.fuseri.model.dto.user.UserType;
-import org.fuseri.modulecertificate.service.CertificateRepository;
-import org.fuseri.modulecertificate.service.CertificateService;
+import org.fuseri.modulecertificate.certificate.Certificate;
+import org.fuseri.modulecertificate.certificate.CertificateRepository;
+import org.fuseri.modulecertificate.certificate.CertificateService;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;