diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java
index 271dbda60d89720793b23378c8a4ac2419ec5a32..cecce16bc731b00f077ef5e3ff05b9dc43e088cd 100644
--- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java
+++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java
@@ -13,8 +13,8 @@ import java.util.function.Supplier;
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 
-import org.scijava.log.LogService;
-import org.scijava.plugin.Parameter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import cz.it4i.fiji.haas.JobManager.JobManager4Job;
 import cz.it4i.fiji.haas.JobManager.JobSynchronizableFile;
@@ -36,8 +36,7 @@ public class Job {
 
 	private static String JOB_INFO_FILE = ".jobinfo";
 
-	@Parameter
-	private LogService log;
+	private static Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas.Job.class);
 
 	private Path jobDir;
 
@@ -120,7 +119,7 @@ public class Job {
 
 	synchronized public void download(Predicate<String> predicate, Progress notifier) {
 		try (HaaSFileTransfer fileTransfer = haasClientSupplier.get().startFileTransfer(jobId, new P_ProgressNotifierAdapter(notifier))) {
-			fileTransfer.download(fileTransfer.getChangedFiles().stream().filter(predicate).collect(Collectors.toList()), jobDir);
+			fileTransfer.download(haasClientSupplier.get().getChangedFiles(jobId).stream().filter(predicate).collect(Collectors.toList()), jobDir);
 		}
 	}
 
@@ -246,4 +245,6 @@ public class Job {
 
 	
 
+	
+
 }
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java
index d9441379187153ea6b8ecfc165fe2625922d212b..097e16f57f543487bd920752fda5a84e2c9a3e12 100644
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java
+++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java
@@ -306,6 +306,15 @@ public class HaaSClient {
 		}
 	}
 	
+	public Collection<String> getChangedFiles(long jobId) {
+		try {
+			return Arrays.asList(fileTransfer.listChangedFilesForJob(jobId, getSessionID()));
+		} catch (RemoteException | ServiceException e) {
+			throw new HaaSClientException(e);
+		}
+	}
+	
+	
 	private void doSubmitJob(long jobId) throws RemoteException, ServiceException {
 		getJobManagement().submitJob(jobId, getSessionID());
 	}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransfer.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransfer.java
index b1162d38548ae486fba514a33474a325824591f0..e3b427f2a1cdbdfbaef67fbfa10b3a5d9bc789a8 100644
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransfer.java
+++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransfer.java
@@ -2,20 +2,20 @@ package cz.it4i.fiji.haas_java_client;
 
 import java.io.Closeable;
 import java.nio.file.Path;
-import java.util.Collection;
+import java.util.List;
 
 import cz.it4i.fiji.haas_java_client.HaaSClient.UploadingFile;
 
 public interface HaaSFileTransfer extends Closeable {
 
-	Collection<String> getChangedFiles();
-
+	
 	@Override
 	void close();
 
 	void upload(Iterable<UploadingFile> files);
-	
+
 	void download(Iterable<String> files, Path workDIrectory);
 
-	
+	List<Long> obtainSize(List<String> files);
+
 }
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransferImp.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransferImp.java
index 3416d7b2ca995f82fed5a4bd21e8cc7ff300ac6f..ca8b6e99760b45f5ea0f129c988bf9a07067196d 100644
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransferImp.java
+++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransferImp.java
@@ -4,12 +4,13 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.nio.file.Path;
 import java.rmi.RemoteException;
-import java.util.Arrays;
-import java.util.Collection;
 import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import com.jcraft.jsch.JSchException;
 
 import cz.it4i.fiji.haas_java_client.HaaSClient.P_ProgressNotifierDecorator4Size;
@@ -20,6 +21,8 @@ import cz.it4i.fiji.scpclient.ScpClient;
 
 class HaaSFileTransferImp implements HaaSFileTransfer {
 
+	private static Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas_java_client.HaaSFileTransferImp.class);
+
 	private FileTransferMethodExt ft;
 	private ScpClient scpClient;
 	private FileTransferWsSoap fileTransfer;
@@ -27,7 +30,6 @@ class HaaSFileTransferImp implements HaaSFileTransfer {
 	private long jobId;
 	private ProgressNotifier notifier;
 
-
 	public HaaSFileTransferImp(FileTransferMethodExt ft, String sessionId, long jobId, FileTransferWsSoap fileTransfer,
 			ScpClient scpClient, ProgressNotifier notifier) {
 		super();
@@ -39,15 +41,6 @@ class HaaSFileTransferImp implements HaaSFileTransfer {
 		this.notifier = notifier;
 	}
 
-	@Override
-	public Collection<String> getChangedFiles() {
-		try {
-			return Arrays.asList(fileTransfer.listChangedFilesForJob(jobId, sessionId));
-		} catch (RemoteException e) {
-			throw new HaaSClientException(e);
-		}
-	}
-
 	@Override
 	public void close() {
 		scpClient.close();
@@ -112,4 +105,15 @@ class HaaSFileTransferImp implements HaaSFileTransfer {
 		}
 	}
 
+	@Override
+	public List<Long> obtainSize(List<String> files) {
+		try {
+			return HaaSClient.getSizes(files.stream()
+					.map(filename -> "'" + ft.getSharedBasepath() + "/" + filename + "'").collect(Collectors.toList()), scpClient, notifier);
+		} catch (JSchException | IOException e) {
+			throw new HaaSClientException(e);
+		}
+
+	}
+
 }
diff --git a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java
index 3ccdb08030c7b12404653728cd3b2c370511ab26..c31d5294bfa064a6fe2eabec712f86508947b89a 100644
--- a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java
+++ b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java
@@ -46,7 +46,7 @@ public class TestHaaSJavaClient {
 			client.downloadPartsOfJobFiles(jobId, taskFileOffset).forEach(jfc -> showJFC(jfc));
 			if (info.getState() == JobState.Finished) {
 				try (HaaSFileTransfer fileTransfer = client.startFileTransfer(jobId, HaaSClient.DUMMY_NOTIFIER)) {
-					fileTransfer.download(fileTransfer.getChangedFiles(), workDir);
+					fileTransfer.download(client.getChangedFiles(jobId), workDir);
 				}
 			}
 			log.info("JobId :" + jobId + ", state" + info.getState());
diff --git a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClientWithSPIM.java b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClientWithSPIM.java
index 08bbda0a57493c9c6cf56b3bf96fadaf34b38027..99b4d85370b717e3aa67e0c138b677f2522b3734 100644
--- a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClientWithSPIM.java
+++ b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClientWithSPIM.java
@@ -46,7 +46,7 @@ public class TestHaaSJavaClientWithSPIM {
 			client.downloadPartsOfJobFiles(jobId, taskFileOffset).forEach(jfc -> showJFC(jfc));
 			if (info.getState() == JobState.Finished) {
 				try (HaaSFileTransfer fileTransfer = client.startFileTransfer(jobId, HaaSClient.DUMMY_NOTIFIER)) {
-					fileTransfer.download(fileTransfer.getChangedFiles(), workDir);
+					fileTransfer.download(client.getChangedFiles(jobId), workDir);
 				}
 
 			}
diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java
index c029a6e5956735e09d6869c64773f9ccc4347fec..5e336bd62f5622a37f9f7aa3ee5ee6d58c7e627b 100644
--- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java
+++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java
@@ -203,6 +203,7 @@ public class BenchmarkJobManager {
 		public boolean remove() {
 			return job.remove();
 		}
+		
 	}
 
 	public BenchmarkJobManager(BenchmarkSPIMParameters params) throws IOException {