diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/CyActivator.java b/src/main/java/de/hhu/ba/yoshikoWrapper/CyActivator.java
index 02bcee9949ca4f8fe4bc1c4f9b0073b0a6cb36af..ee46985628ef545a62f94a0bcc99ef35cd0dea26 100644
--- a/src/main/java/de/hhu/ba/yoshikoWrapper/CyActivator.java
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/CyActivator.java
@@ -113,12 +113,19 @@ public class CyActivator extends AbstractCyActivator {
 		}
 
 		//Register commands / CyRest
-		TaskFactory commandTaskFactory = new CommandTaskFactory(YoshikoCommand.PERFORM_ALGORITHM);
-		Properties props = new Properties();
-		props.setProperty(COMMAND_NAMESPACE, "yoshiko");
-		props.setProperty(COMMAND, YoshikoCommand.PERFORM_ALGORITHM.toString());
-		props.setProperty(COMMAND_DESCRIPTION,"Cluster a network with the Yoshiko algorithm");
-		registerService(context, commandTaskFactory, TaskFactory.class, props);
+		TaskFactory commandTaskFactory_PERFORM_ALGORITHM = new CommandTaskFactory(YoshikoCommand.PERFORM_ALGORITHM);
+		Properties props_PERFORM_ALGORITHM = new Properties();
+		props_PERFORM_ALGORITHM.setProperty(COMMAND_NAMESPACE, "yoshiko");
+		props_PERFORM_ALGORITHM.setProperty(COMMAND, YoshikoCommand.PERFORM_ALGORITHM.toString());
+		props_PERFORM_ALGORITHM.setProperty(COMMAND_DESCRIPTION,"Cluster a network with the Yoshiko algorithm");
+		registerService(context, commandTaskFactory_PERFORM_ALGORITHM, TaskFactory.class, props_PERFORM_ALGORITHM);
+
+		TaskFactory commandTaskFactory_GET_SOLUTIONS = new CommandTaskFactory(YoshikoCommand.GET_SOLUTIONS);
+		Properties props_GET_SOLUTIONS = new Properties();
+		props_GET_SOLUTIONS.setProperty(COMMAND_NAMESPACE, "yoshiko");
+		props_GET_SOLUTIONS.setProperty(COMMAND, YoshikoCommand.GET_SOLUTIONS.toString());
+		props_GET_SOLUTIONS.setProperty(COMMAND_DESCRIPTION,"Retrieve solutions associated with a result");
+		registerService(context, commandTaskFactory_GET_SOLUTIONS, TaskFactory.class, props_GET_SOLUTIONS);
 
 		//Initialize and register main panel
 		MainPanel mainPanel = new MainPanel();
diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/core/ResultList.java b/src/main/java/de/hhu/ba/yoshikoWrapper/core/ResultList.java
index 5bc2b23c2e45fcea698139ba69d7570da2b1d42d..118f5a29cba69d45646ed3afd048b20af628d4e5 100644
--- a/src/main/java/de/hhu/ba/yoshikoWrapper/core/ResultList.java
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/core/ResultList.java
@@ -4,6 +4,11 @@ import java.util.HashMap;
 
 import de.hhu.ba.yoshikoWrapper.graphModel.YoshikoResult;
 
+/**
+ * Simple wrapper for a HashMap that manages unique IDs
+ * @author Philipp Spohr, Dec 11, 2017
+ *
+ */
 public class ResultList {
 
 	private static HashMap<Integer,YoshikoResult> map = new HashMap<Integer,YoshikoResult>();
@@ -24,5 +29,12 @@ public class ResultList {
 		map.remove(resultID);
 	}
 
+	public static YoshikoResult get(int resultID) {
+		if (map.containsKey(resultID)) {
+			return map.get(resultID);
+		}
+		return null;
+	}
+
 
 }
diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/taskFactories/CommandTaskFactory.java b/src/main/java/de/hhu/ba/yoshikoWrapper/taskFactories/CommandTaskFactory.java
index 6dcc7d1f1988b7b7e0ec80ccf57d0cd5faddac34..53e7fbbdd14a5ec4f28ecf0a643e6d4afef80bcd 100644
--- a/src/main/java/de/hhu/ba/yoshikoWrapper/taskFactories/CommandTaskFactory.java
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/taskFactories/CommandTaskFactory.java
@@ -6,6 +6,7 @@ import org.cytoscape.work.TaskIterator;
 import de.hhu.ba.yoshikoWrapper.core.ParameterSet;
 import de.hhu.ba.yoshikoWrapper.tasks.AlgorithmTask;
 import de.hhu.ba.yoshikoWrapper.tasks.CreateClusterViewsTask;
+import de.hhu.ba.yoshikoWrapper.tasks.GetSolutionsTask;
 
 public class CommandTaskFactory implements TaskFactory{
 
@@ -32,6 +33,13 @@ public class CommandTaskFactory implements TaskFactory{
 		else if (command == YoshikoCommand.CREATE_META_GRAPH) {
 			return null;
 		}
+
+		else if (command == YoshikoCommand.GET_SOLUTIONS) {
+			return new TaskIterator(
+					new GetSolutionsTask()
+					);
+		}
+
 		else if (command == YoshikoCommand.PERFORM_ALGORITHM) {
 			return new TaskIterator(
 					new AlgorithmTask(
diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/taskFactories/YoshikoCommand.java b/src/main/java/de/hhu/ba/yoshikoWrapper/taskFactories/YoshikoCommand.java
index 87fb8c9b9fdc62ef34ad6c5caf2f7a4c086fc2c2..25ead63a2f857fff895d91e36d1c54a166f63fdc 100644
--- a/src/main/java/de/hhu/ba/yoshikoWrapper/taskFactories/YoshikoCommand.java
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/taskFactories/YoshikoCommand.java
@@ -11,7 +11,8 @@ public enum YoshikoCommand {
 	 */
 	CREATE_CLUSTER_VIEW,
 	CREATE_META_GRAPH,
-	PERFORM_ALGORITHM;
+	PERFORM_ALGORITHM,
+	GET_SOLUTIONS;
 
 	@Override
 	public String toString() {
@@ -21,6 +22,9 @@ public enum YoshikoCommand {
 		else if (this==CREATE_CLUSTER_VIEW) {
 			return "createcvs";
 		}
+		else if (this==GET_SOLUTIONS) {
+			return "solutions";
+		}
 		return "null";
 	}
 }
diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/tasks/AlgorithmTask.java b/src/main/java/de/hhu/ba/yoshikoWrapper/tasks/AlgorithmTask.java
index b7d61f7903e4c654d55480253ff3a77e54fe8700..375fc06930088a9e2ee16dbfce11efc21c48600f 100644
--- a/src/main/java/de/hhu/ba/yoshikoWrapper/tasks/AlgorithmTask.java
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/tasks/AlgorithmTask.java
@@ -292,7 +292,7 @@ public class AlgorithmTask extends AbstractTask implements ObservableTask {
 	public <R> R getResults(Class<? extends R> type) {
 		//We return the id of the result so we can work with the result from CMD
 		if (type.equals(String.class)) {
-			return (R) (""+result.getID());
+			return (R) ("Result generated with ID: "+result.getID());
 		}
 		return null;
 	}
diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/tasks/GetSolutionsTask.java b/src/main/java/de/hhu/ba/yoshikoWrapper/tasks/GetSolutionsTask.java
new file mode 100644
index 0000000000000000000000000000000000000000..c356698bf06ea4a8554ceb57d0590ee77d5d3f22
--- /dev/null
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/tasks/GetSolutionsTask.java
@@ -0,0 +1,48 @@
+package de.hhu.ba.yoshikoWrapper.tasks;
+
+import java.util.ArrayList;
+
+import org.cytoscape.work.ObservableTask;
+import org.cytoscape.work.TaskMonitor;
+import org.cytoscape.work.Tunable;
+
+import de.hhu.ba.yoshikoWrapper.core.ResultList;
+import de.hhu.ba.yoshikoWrapper.graphModel.YoshikoResult;
+import de.hhu.ba.yoshikoWrapper.graphModel.YoshikoSolution;
+
+public class GetSolutionsTask implements ObservableTask {
+
+	@Tunable(description="The result ID for which the solutions should be displayed", context="nogui")
+	public int resultID = -1;
+
+	private ArrayList<YoshikoSolution> solutions;
+
+	@Override
+	public void run(TaskMonitor taskMonitor) throws Exception {
+		YoshikoResult result = ResultList.get(resultID);
+		if (result == null) {
+			throw new Exception("No result with ID: "+resultID+" was found!"); //TODO: Localization
+		}
+		solutions = result.getSolutions();
+	}
+
+	@Override
+	public void cancel() {
+		// TODO Auto-generated method stub
+
+	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public <R> R getResults(Class<? extends R> type) {
+		if (type.equals(String.class)) {
+			String ret = "";
+			for (YoshikoSolution s: solutions) {
+				ret+="Solution ["+s.getId()+"]: "+s.getClusters().size()+" clusters\n";
+			}
+			return (R) ret;
+		}
+		return null;
+	}
+
+}