diff --git a/data-access/servlet/src/main/java/cutout/DatasetsCli.java b/data-access/servlet/src/main/java/cutout/DatasetsCli.java
index 395002b96182826f2da3288d793baa4fb7a2104f..f6a125b855f018d0c04a7a3c81747e23198aae8f 100644
--- a/data-access/servlet/src/main/java/cutout/DatasetsCli.java
+++ b/data-access/servlet/src/main/java/cutout/DatasetsCli.java
@@ -25,6 +25,12 @@ import java.nio.file.Paths;
 import java.time.*;// Timestamp in cut-filename
 import java.io.ByteArrayOutputStream; // for SODA direct streaming doSubimgStream
 
+// tar.gz compress
+import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
+import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
+import org.apache.commons.compress.compressors.gzip.GzipCompressorOutputStream;
+import java.io.BufferedOutputStream;
+
 import vo.parameter.*;
 
 class DatasetsCli implements Datasets
@@ -116,6 +122,8 @@ class DatasetsCli implements Datasets
    private MCutResult doCompressCutFiles(MCutResult.Cut[] cutArr)
       throws IOException, InterruptedException
    {
+      final String tgzFileName = settings.fitsPaths.cutouts() + "/mcutout_TIMESTAMP.tar.gz";
+/*
       StringBuilder sb = new StringBuilder();
       for(MCutResult.Cut cut : cutArr)
       {
@@ -127,8 +135,6 @@ class DatasetsCli implements Datasets
          }
       }
 
-      final String tgzFileName = settings.fitsPaths.cutouts() + "/mcutout_TIMESTAMP.tar.gz";
-
       String[] cmd = new String[6];
       cmd[0] = "/bin/tar";
       cmd[1] = "cfz";
@@ -148,13 +154,28 @@ class DatasetsCli implements Datasets
       LOGGER.info("exec tar.gz exitValue: " + exec.exitValue);
 
       boolean has_result = (exec.exitValue == 0);
+*/
+      List<Path> paths = new ArrayList<Path>();
+
+      for(MCutResult.Cut cut : cutArr)
+      {
+         LOGGER.info("cut-id"+ String.valueOf(cut.index) + " -> " + cut.content);
+         if(cut.contentType == MCutResult.Cut.ContentType.FILENAME)
+         {
+            Path p = Paths.get(cut.content);
+            paths.add(p);
+         }
+      }
+
+      Path output = Paths.get(tgzFileName);
+      createTarGzipFiles(paths, output);
 
       MCutResult mCutResult = new MCutResult();
       mCutResult.cutResArr = cutArr;
       mCutResult.fileName = tgzFileName;
       mCutResult.fileSize = 0;
 
-      // FIXME add timestamp, add filesize when successful
+      // FIXME add response.json to tar.gz, add timestamp, add filesize when successful
 
       return mCutResult;
    }
@@ -200,5 +221,53 @@ class DatasetsCli implements Datasets
       return cut;
    }
 
+
+
+   /*
+      <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-compress</artifactId>
+      <version>1.20</version>
+      </dependency>
+
+      import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
+      import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
+      import org.apache.commons.compress.compressors.gzip.GzipCompressorOutputStream;
+
+
+
+*/
+   public static void createTarGzipFiles(List<Path> paths, Path output)
+         throws IOException
+      {
+         try (OutputStream fOut = Files.newOutputStream(output);
+               BufferedOutputStream buffOut = new BufferedOutputStream(fOut);
+               GzipCompressorOutputStream gzOut = new GzipCompressorOutputStream(buffOut);
+               TarArchiveOutputStream tOut = new TarArchiveOutputStream(gzOut))
+         {
+            for (Path path : paths)
+            {
+               if (!Files.isRegularFile(path))
+               {
+                  throw new IOException("Must be regular file, but was : " + path.toString());
+               }
+
+               TarArchiveEntry tarEntry = new TarArchiveEntry(
+                     path.toFile(),
+                     path.getFileName().toString());
+
+               tOut.putArchiveEntry(tarEntry);
+
+               // copy file to TarArchiveOutputStream
+               Files.copy(path, tOut);
+
+               tOut.closeArchiveEntry();
+            }
+
+            tOut.finish();
+         }
+
+      }
+
 }