diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/FXFrame.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/FXFrame.java
index 47b16deb83535b89a80646e55dc80e984bf6884d..88eb57a451725ec10c2d296864c85b8fd7ea5f8a 100644
--- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/FXFrame.java
+++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/FXFrame.java
@@ -55,9 +55,10 @@ public class FXFrame<C extends FXFrame.Controller> extends JDialog {
 		}
 		
 		@SuppressWarnings("unchecked")
-		static public <U,T extends ObservableValue<U>> void setCellValueFactory(TableView<T> tableView,int index, Function<U, String> mapper) {
-			((TableColumn<T, String>) tableView.getColumns().get(index))
-					.setCellValueFactory(f -> new ObservableValueAdapter<U, String>(f.getValue(), mapper));
+		static public <U,T extends ObservableValue<U>,V> void setCellValueFactory(TableView<T> tableView,int index, Function<U, V> mapper) {
+			((TableColumn<T, V>) tableView.getColumns().get(index))
+					.setCellValueFactory(f -> new ObservableValueAdapter<U, V>(f.getValue(), mapper));
+			//((TableColumn<T, String>) tableView.getColumns().get(index)).setCellFactory(f->f.set);
 
 		}
 	}
diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/SPIMPipelineProgressViewController.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/SPIMPipelineProgressViewController.java
index 4689fdd8b32dc9b43caac518a7f21fa19c04b3da..c69cc99751738d145c6ba8859fe52239f30d1731 100644
--- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/SPIMPipelineProgressViewController.java
+++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/SPIMPipelineProgressViewController.java
@@ -10,12 +10,14 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import cz.it4i.fiji.haas.ui.FXFrame;
+import cz.it4i.fiji.haas_java_client.JobState;
 import cz.it4i.fiji.haas_spim_benchmark.core.BenchmarkJobManager.BenchmarkJob;
 import cz.it4i.fiji.haas_spim_benchmark.core.Constants;
 import cz.it4i.fiji.haas_spim_benchmark.core.Task;
 import cz.it4i.fiji.haas_spim_benchmark.core.TaskComputation;
 import javafx.beans.value.ObservableValue;
 import javafx.fxml.FXML;
+import javafx.scene.control.TableCell;
 import javafx.scene.control.TableColumn;
 import javafx.scene.control.TableView;
 
@@ -47,6 +49,7 @@ public class SPIMPipelineProgressViewController implements FXFrame.Controller {
 		this.job = job;
 	}
 
+	@SuppressWarnings("unchecked")
 	private void fillTable() {
 		List<Task> tasks = job.getTasks();
 		if (tasks == null) {
@@ -64,15 +67,32 @@ public class SPIMPipelineProgressViewController implements FXFrame.Controller {
 
 			for (TaskComputation tc : computations) {
 				this.tasks.getColumns().add(new TableColumn<>(tc.getTimepoint() + ""));
-				int index = i;
-				FXFrame.Controller.setCellValueFactory(this.tasks, i, (Function<Task, String>) v -> {
-					List<TaskComputation> items = v.getComputations();
-					if (items.size() >= index) {
-						return "";
+				int index = i++;
+
+				FXFrame.Controller.setCellValueFactory(this.tasks, index, (Function<Task, JobState>) v -> {
+					if (v.getComputations().size() >= index) {
+						return v.getComputations().get(index - 1).getState();
 					} else {
-						return v.getComputations().get(index).getState().toString();
+						return null;
+					}
+				});
+				((TableColumn<ObservableValue<Task>, JobState>)this.tasks.getColumns().get(index)).setCellFactory(column->new TableCell<ObservableValue<Task>,JobState>(){
+					@Override
+			        protected void updateItem(JobState state, boolean empty) {
+						if (state == null || empty) {
+			                setText(null);
+			                setStyle("");
+			            } else {
+			                // Format date.
+			                setText(state + "");
+			                if(state == JobState.Unknown) {
+			                	setStyle("-fx-background-color: yellow");
+			                }
+			            }
+						
 					}
 				});
+
 			}
 
 			this.tasks.getItems()