diff --git a/src/main/java/com/example/fileparser/dto/OutputFileDto.java b/src/main/java/com/example/fileparser/dto/OutputFileDto.java
index 4a8db826b29adb784dd8dd12f39168ae6834f643..feba2f51aa6f7ef142ff2d5aa26efc42ece5c68a 100644
--- a/src/main/java/com/example/fileparser/dto/OutputFileDto.java
+++ b/src/main/java/com/example/fileparser/dto/OutputFileDto.java
@@ -9,5 +9,5 @@ import java.util.List;
 @AllArgsConstructor
 public class OutputFileDto {
     private List<ExcelColumnDto> columnInfoList;
-    private List<ExcelRowDto> rowLost;
+    private List<ExcelRowDto> rows;
 }
diff --git a/src/main/java/com/example/fileparser/service/FileParserServiceImpl.java b/src/main/java/com/example/fileparser/service/impl/FileParserServiceImpl.java
similarity index 80%
rename from src/main/java/com/example/fileparser/service/FileParserServiceImpl.java
rename to src/main/java/com/example/fileparser/service/impl/FileParserServiceImpl.java
index cdc1e623795b2e19fc71514d120d1b4787bffb5d..a52d62a49283f0bafee7c3469b479f4789839e53 100644
--- a/src/main/java/com/example/fileparser/service/FileParserServiceImpl.java
+++ b/src/main/java/com/example/fileparser/service/impl/FileParserServiceImpl.java
@@ -1,30 +1,31 @@
-package com.example.fileparser.service;
+package com.example.fileparser.service.impl;
 
 import com.example.fileparser.dto.CellDto;
 import com.example.fileparser.dto.ExcelColumnDto;
 import com.example.fileparser.dto.ExcelRowDto;
 import com.example.fileparser.dto.OutputFileDto;
 import com.example.fileparser.exception.FileReadException;
+import com.example.fileparser.service.FileParserService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.EmptyFileException;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.CellType;
 import org.apache.poi.ss.usermodel.DateUtil;
-import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.xssf.usermodel.XSSFRow;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
 @Slf4j
 @Service
+@Qualifier("fullInfo")
 public class FileParserServiceImpl implements FileParserService {
 
     @Override
@@ -41,7 +42,7 @@ public class FileParserServiceImpl implements FileParserService {
         } catch (IOException e) {
             throw new FileReadException("Cannot read this file");
         }
-        return new OutputFileDto(getColumns(mySheet), getAllRows(mySheet));
+        return new OutputFileDto(getColumns(mySheet), getAllRows(mySheet, mySheet.getRow(0).getPhysicalNumberOfCells()));
     }
 
     private List<ExcelColumnDto> getColumns(XSSFSheet mySheet) {
@@ -70,20 +71,23 @@ public class FileParserServiceImpl implements FileParserService {
         return listOfColumns;
     }
 
-    private List<ExcelRowDto> getAllRows(XSSFSheet mySheet) {
-        log.info("start iterator");
-        Iterator<Row> rowIterator = mySheet.iterator();
+    private List<ExcelRowDto> getAllRows(XSSFSheet mySheet, int countColumns) {
+        log.info("start read excel cells");
         List<ExcelRowDto> listOfRows = new ArrayList<>();
-        while (rowIterator.hasNext()) {
-            Row row = rowIterator.next();
-            Iterator<Cell> cellIterator = row.cellIterator();
+        for (int i = 0; i < mySheet.getPhysicalNumberOfRows(); i++){
             List<CellDto> cellDtoList = new ArrayList<>();
-            while (cellIterator.hasNext()) {
-                cellDtoList.add(convertDataToCellDto(cellIterator.next(), mySheet));
+            for (int j = 0; j < countColumns; j++){
+                if (mySheet.getRow(i).getCell(j) == null){
+                    cellDtoList.add(
+                        new CellDto(j, null)
+                    );
+                    continue;
+                }
+                cellDtoList.add(convertDataToCellDto(mySheet.getRow(i).getCell(j), mySheet));
             }
-            listOfRows.add(new ExcelRowDto(row.getRowNum(), cellDtoList));
+            listOfRows.add(new ExcelRowDto(i, cellDtoList));
         }
-        log.debug("stop iterator\n");
+        log.debug("finish read excel cells\n");
         return listOfRows;
     }
 
@@ -100,9 +104,6 @@ public class FileParserServiceImpl implements FileParserService {
                 }
             case STRING:
                 return new CellDto(cell.getColumnIndex(), cell.getStringCellValue());
-            case _NONE:
-            case BLANK:
-                return new CellDto(cell.getColumnIndex(), null);
             case FORMULA:
                 return new CellDto(cell.getColumnIndex(),
                         mySheet.getWorkbook()
@@ -112,8 +113,11 @@ public class FileParserServiceImpl implements FileParserService {
                                 .formatAsString()
                 );
             case ERROR:
+                return new CellDto(cell.getColumnIndex(), cell.getErrorCellValue());
+            case _NONE:
+            case BLANK:
             default:
-                return new CellDto(cell.getColumnIndex(), "null");
+                return new CellDto(cell.getColumnIndex(), null);
         }
     }
 }
\ No newline at end of file