diff --git a/data-access/servlet/src/main/java/mcutout/webapi/UWSMCutoutWork.java b/data-access/servlet/src/main/java/mcutout/webapi/UWSMCutoutWork.java
index a124b15c63ac75ae9918b11a61be9a33e0277b38..f5843301190881fa03968092ccfb93db1009b2f0 100644
--- a/data-access/servlet/src/main/java/mcutout/webapi/UWSMCutoutWork.java
+++ b/data-access/servlet/src/main/java/mcutout/webapi/UWSMCutoutWork.java
@@ -1,12 +1,13 @@
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.PrintWriter;
 import java.io.OutputStream;
 import java.io.BufferedOutputStream;
 import java.io.OutputStreamWriter;
-import java.io.IOException;
 import java.io.BufferedReader;
-import java.io.IOException;
 import java.io.InputStreamReader;
 
 import uws.UWSException;
@@ -55,7 +56,6 @@ public class UWSMCutoutWork extends JobThread
    }
 
 
-
    @Override
    protected void jobWork() throws UWSException, InterruptedException
    {
@@ -83,36 +83,8 @@ public class UWSMCutoutWork extends JobThread
 			logger.logThread(LogLevel.INFO, this, "Prepare Result",
 					" job:requestUrl: " +  job.getUrl().getRequestURL(), null);
 
-			// publish Report
-
-			Result resultRes = new Result("Report", "none", null, false);
-			resultRes.setMimeType("application/json");
-			OutputStream respResOutputStream = getResultOutput(resultRes);
-
-			String absResPathname = mresult.resJsonPathname;
-			File downloadResFile = new File(absResPathname);
-			FileInputStream fileResInput = new FileInputStream(downloadResFile);
-
-			fileResInput.transferTo(respResOutputStream);
-			publishResult(resultRes);
-
-			downloadResFile.delete();
-
-			// publish mcutout.tar.gz
-
-			final String id = "mcutout.tar.gz";
-			Result result = new Result(id, "none", null, false);
-			result.setMimeType("application/gzip");
-			OutputStream respOutputStream = getResultOutput(result);
-
-			String absCutPathname = mresult.fileName;
-			File downloadFile = new File(absCutPathname);
-			FileInputStream fileInput = new FileInputStream(downloadFile);
-
-			fileInput.transferTo(respOutputStream);
-			publishResult(result);
-
-			downloadFile.delete();
+			publishOnEndpoint("Report", "application/json", mresult.resJsonPathname);
+			publishOnEndpoint("mcutout.tar.gz", "application/gzip", mresult.fileName);
 
 			// delete cut-files (were published/copied to uws-file store) 
 
@@ -129,4 +101,22 @@ public class UWSMCutoutWork extends JobThread
 		}
 	}
 
+
+	private void publishOnEndpoint(String epName, String mimeType, String absPathname)
+		throws FileNotFoundException, IOException, UWSException
+	{
+		Result result = new Result(epName, "none", null, false);
+		result.setMimeType(mimeType);
+
+		File downloadFile = new File(absPathname);
+		FileInputStream fileInput = new FileInputStream(downloadFile);
+
+		OutputStream resOutputStream = getResultOutput(result);
+		fileInput.transferTo(resOutputStream);
+
+		publishResult(result);
+
+		downloadFile.delete();
+	}
+
 }