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 f66413be66a01f81ee4baa4a4f83a8ff7468120d..78a512950119dfaeddc030cc1f28f941f2fab878 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
@@ -15,6 +15,7 @@ import java.util.LinkedList;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.stream.Collectors;
+import java.util.stream.IntStream;
 
 import javax.xml.rpc.ServiceException;
 
@@ -193,12 +194,15 @@ public class HaaSClient {
 	
 	private final Settings settings;
 
+	private final int numberOfNodes;
+
 	public HaaSClient(Settings settings) {
 		this.settings = settings;
 		this.templateId = settings.getTemplateId();
 		this.timeOut = settings.getTimeout();
 		this.clusterNodeType = settings.getClusterNodeType();
 		this.projectId = settings.getProjectId();
+		this.numberOfNodes = settings.getNumberOfNodes();
 	}
 
 	public long createJob(String name, Collection<Entry<String, String>> templateParameters) {
@@ -315,8 +319,10 @@ public class HaaSClient {
 
 	private long doCreateJob(String name, Collection<Entry<String, String>> templateParameters)
 			throws RemoteException, ServiceException {
-		TaskSpecificationExt taskSpec = createTaskSpecification(name, templateId, templateParameters);
-		JobSpecificationExt jobSpecification = createJobSpecification(name, Arrays.asList(taskSpec));
+		Collection<TaskSpecificationExt> taskSpec = IntStream.range(0, numberOfNodes)
+				.mapToObj(index -> createTaskSpecification(name + ": " + index, templateId, templateParameters))
+				.collect(Collectors.toList());
+		JobSpecificationExt jobSpecification = createJobSpecification(name, taskSpec);
 		SubmittedJobInfoExt job = getJobManagement().createJob(jobSpecification, getSessionID());
 		return job.getId();
 	}
@@ -344,6 +350,7 @@ public class HaaSClient {
 		testJob.setClusterNodeTypeId(clusterNodeType);
 		testJob.setEnvironmentVariables(new EnvironmentVariableExt[0]);
 		testJob.setTasks(tasks.stream().toArray(TaskSpecificationExt[]::new));
+		
 		return testJob;
 	}
 
@@ -370,7 +377,6 @@ public class HaaSClient {
 		testTask.setTemplateParameterValues(templateParameters.stream()
 				.map(pair -> new CommandTemplateParameterValueExt(pair.getKey(), pair.getValue()))
 				.toArray(CommandTemplateParameterValueExt[]::new));
-
 		return testTask;
 	}
 
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Settings.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Settings.java
index ee8611e7d1503725ddf63fe8cadaf71e28f004fd..a74aca1d47cf1266c57278ede227c3c5544950c5 100644
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Settings.java
+++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Settings.java
@@ -10,4 +10,5 @@ public interface Settings {
 	long getClusterNodeType();
 	String getProjectId();
 	String getJobName();
+	int getNumberOfNodes();
 }
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/SettingsProvider.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/SettingsProvider.java
index 762b044693c79b76d113d9c38336433d51b96116..4bd07df1b66fe4d375cfe2fa7f704f6d3fc00c62 100644
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/SettingsProvider.java
+++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/SettingsProvider.java
@@ -3,6 +3,10 @@ package cz.it4i.fiji.haas_java_client;
 public interface SettingsProvider {
 	
 	static Settings getSettings(long templateId, int timeOut, long clusterNodeType, String projectId, String configFileName) {
+		return getSettings(templateId, timeOut, clusterNodeType, projectId, 1, configFileName);
+	}
+	
+	static Settings getSettings(long templateId, int timeOut, long clusterNodeType, String projectId, int numberOfNodes,String configFileName) {
 		Constants constants = new Constants(configFileName);
 		return new Settings() {
 			
@@ -50,6 +54,11 @@ public interface SettingsProvider {
 			public String getJobName() {
 				return "TestOutRedirect";
 			}
+
+			@Override
+			public int getNumberOfNodes() {
+				return numberOfNodes;
+			}
 		};
 	}