diff --git a/application/model/src/main/java/org/fuseri/model/dto/common/Result.java b/application/model/src/main/java/org/fuseri/model/dto/common/Result.java
deleted file mode 100644
index c75e421e91732dae34d803b7e715f7c395aea240..0000000000000000000000000000000000000000
--- a/application/model/src/main/java/org/fuseri/model/dto/common/Result.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.fuseri.model.dto.common;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.List;
-
-@Getter
-@Setter
-public class Result<T extends DomainObjectDto> {
-
-    private long total;
-    private int page;
-    private int pageSize;
-    private List<T> items;
-}
diff --git a/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/common/DomainMapper.java b/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/common/DomainMapper.java
index dfc4a7f1ec17e8beec0eb75ac1e4d9f8d305aea7..e80dbdb1a48c5b26ac2b9582ae4d426724e6f97f 100644
--- a/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/common/DomainMapper.java
+++ b/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/common/DomainMapper.java
@@ -1,9 +1,7 @@
 package org.fuseri.modulelanguageschool.common;
 import org.fuseri.model.dto.common.DomainObjectDto;
-import org.fuseri.model.dto.common.Result;
-import org.mapstruct.Mapping;
-import org.mapstruct.Mappings;
 import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
 
 import java.util.List;
 
@@ -15,11 +13,7 @@ public interface DomainMapper<T extends DomainObject, S extends DomainObjectDto>
 
     List<S> toDtoList(List<T> entities);
 
-    @Mappings({
-            @Mapping(target = "total", expression = "java(source.getTotalElements())"),
-            @Mapping(target = "page", expression = "java(source.getNumber())"),
-            @Mapping(target = "pageSize", expression = "java(source.getSize())"),
-            @Mapping(target = "items", expression = "java(toDtoList(source.getContent()))")
-    })
-    Result<S> toResult(Page<T> source);
+    default Page<S> toDtoPage(Page<T> entities) {
+        return new PageImpl<>(toDtoList(entities.getContent()), entities.getPageable(), entities.getTotalPages());
+    }
 }
diff --git a/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/UserController.java b/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/UserController.java
index 14fa089d5b421c006a23739282832994a8719dfb..eb7487a6c32c0630e4a2e88bcd57744d4ddbc461 100644
--- a/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/UserController.java
+++ b/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/UserController.java
@@ -9,13 +9,13 @@ import jakarta.persistence.EntityNotFoundException;
 import jakarta.validation.Valid;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.PositiveOrZero;
-import org.fuseri.model.dto.common.Result;
 import org.fuseri.model.dto.course.CourseDto;
 import org.fuseri.model.dto.user.UserAddLanguageDto;
 import org.fuseri.model.dto.user.UserCreateDto;
 import org.fuseri.model.dto.user.UserDto;
 import org.fuseri.model.dto.user.UserLoginDto;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
@@ -91,8 +91,9 @@ public class UserController {
             @ApiResponse(responseCode = "400", description = "Invalid page number supplied"),
     })
     @GetMapping
-    public ResponseEntity<Result<UserDto>> findAll(@PositiveOrZero @RequestParam int page) {
-        return ResponseEntity.ok(facade.findAll(page));
+    public ResponseEntity<Page<UserDto>> findAll(@PositiveOrZero @NotNull @RequestParam int page) {
+        var a = facade.findAll(page);
+        return ResponseEntity.ok(a);
     }
 
     //TODO: add authentication M3?
@@ -107,7 +108,6 @@ public class UserController {
         return ResponseEntity.ok("user has logged out");
     }
 
-
     @Operation(summary = "get finished courses", description = "retrieves finished courses of user with given Id")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200", description = "Successfully retrieved finished courses"),
diff --git a/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/UserFacade.java b/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/UserFacade.java
index 43021ba0443a6f785447748e4c25fa40a5535809..0aa246f22b6489095f2e05fc287323d610b2584c 100644
--- a/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/UserFacade.java
+++ b/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/UserFacade.java
@@ -1,14 +1,16 @@
 package org.fuseri.modulelanguageschool.user;
 
-import org.fuseri.model.dto.common.Result;
 import org.fuseri.model.dto.course.CourseDto;
 import org.fuseri.model.dto.user.UserAddLanguageDto;
 import org.fuseri.model.dto.user.UserCreateDto;
 import org.fuseri.model.dto.user.UserDto;
+import org.fuseri.modulelanguageschool.common.DomainService;
 import org.fuseri.modulelanguageschool.course.CourseMapper;
 import org.fuseri.modulelanguageschool.course.Language;
 import org.fuseri.modulelanguageschool.course.ProficiencyLevel;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -51,8 +53,9 @@ public class UserFacade {
 
     }
 
-    public Result<UserDto> findAll(int page) {
-        return mapper.toResult(service.findAll(page));
+    public Page<UserDto> findAll(int page) {
+        PageRequest pageRequest = PageRequest.of(page, DomainService.DEFAULT_PAGE_SIZE);
+        return mapper.toDtoPage(service.findAll(pageRequest));
     }
 
     public UserDto addLanguage(Long id, UserAddLanguageDto body) {