diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/gui/MainPanel.java b/src/main/java/de/hhu/ba/yoshikoWrapper/gui/MainPanel.java
index 639a7bc3efe72ce474ab57b5c1b9b954d3c42f1b..c17de29d1c3419226fceb07d864e8e561857b01b 100644
--- a/src/main/java/de/hhu/ba/yoshikoWrapper/gui/MainPanel.java
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/gui/MainPanel.java
@@ -8,6 +8,7 @@ import javax.swing.Icon;
 import javax.swing.JButton;
 import javax.swing.JFileChooser;
 import javax.swing.JLabel;
+import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import org.cytoscape.application.swing.CytoPanelComponent;
 import org.cytoscape.application.swing.CytoPanelName;
@@ -15,6 +16,7 @@ import org.cytoscape.application.swing.CytoPanelName;
 import de.hhu.ba.yoshikoWrapper.core.YoshikoLoader;
 import de.hhu.ba.yoshikoWrapper.swig.LibraryInterface;
 import de.hhu.ba.yoshikoWrapper.swig.SWIGTYPE_p_yskInput__LibraryInput;
+import de.hhu.ba.yoshikoWrapper.swig.SWIGTYPE_p_ysk__ClusterEditingSolutions;
 
 /**This class describes the Swing Panel that the user interacts with in cytoscape
  * @author Philipp Spohr, Aug 6, 2017
@@ -79,7 +81,20 @@ public class MainPanel extends JPanel implements CytoPanelComponent {
 					LibraryInterface.LibraryInput_setSize(instance, 4);
 					LibraryInterface.LibraryInput_addEdge(instance, 0, 1, 2);
 					LibraryInterface.LibraryInput_addEdge(instance, 1, 3, 5);
-					LibraryInterface.LibraryInput_parseInput(instance);
+					SWIGTYPE_p_ysk__ClusterEditingSolutions solutions = LibraryInterface.processLibraryInput(instance);
+					long numberOfSolutions = LibraryInterface.ClusterEditingSolutions_getNumberOfSolutions(solutions);
+					double totalCost = LibraryInterface.ClusterEditingSolutions_getTotalCost(solutions);
+					System.out.println();
+					JOptionPane.showMessageDialog(
+							self,
+							"YOSHIKO FOUND "+numberOfSolutions+" solutions!\n"+
+							"YOSHIKO PAID THE CRUEL PRIZE OF: "+totalCost+"\n"
+							
+							);
+					
+					//IMPORTANT: DESTROY STUFF
+					LibraryInterface.delete_LibraryInput(instance);
+					LibraryInterface.delete_ClusterEditingSolutions(solutions);
 				}
 			}
 			
diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterface.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterface.java
index 41063ddee07f9898ec87cd079485cc2aa849b663..4aea41e0c76496cea7d9bd09ec0b26305a8bc069 100644
--- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterface.java
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterface.java
@@ -8,43 +8,34 @@
 
 package de.hhu.ba.yoshikoWrapper.swig;
 
-public class LibraryInterface {
-  public static void edge_sourceID_set(SWIGTYPE_p_yskInput__edge self, int value) {
-    LibraryInterfaceJNI.edge_sourceID_set(SWIGTYPE_p_yskInput__edge.getCPtr(self), value);
+public class LibraryInterface implements LibraryInterfaceConstants {
+  public static SWIGTYPE_p_ysk__ClusterEditingSolutions new_ClusterEditingSolutions() {
+    long cPtr = LibraryInterfaceJNI.new_ClusterEditingSolutions();
+    return (cPtr == 0) ? null : new SWIGTYPE_p_ysk__ClusterEditingSolutions(cPtr, true);
   }
 
-  public static int edge_sourceID_get(SWIGTYPE_p_yskInput__edge self) {
-    return LibraryInterfaceJNI.edge_sourceID_get(SWIGTYPE_p_yskInput__edge.getCPtr(self));
+  public static long ClusterEditingSolutions_getNumberOfClusters(SWIGTYPE_p_ysk__ClusterEditingSolutions self, long i) {
+    return LibraryInterfaceJNI.ClusterEditingSolutions_getNumberOfClusters(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self), i);
   }
 
-  public static void edge_targetID_set(SWIGTYPE_p_yskInput__edge self, int value) {
-    LibraryInterfaceJNI.edge_targetID_set(SWIGTYPE_p_yskInput__edge.getCPtr(self), value);
+  public static SWIGTYPE_p_std__vectorT_int_t ClusterEditingSolutions_getCluster(SWIGTYPE_p_ysk__ClusterEditingSolutions self, long i, long k) {
+    return new SWIGTYPE_p_std__vectorT_int_t(LibraryInterfaceJNI.ClusterEditingSolutions_getCluster(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self), i, k), false);
   }
 
-  public static int edge_targetID_get(SWIGTYPE_p_yskInput__edge self) {
-    return LibraryInterfaceJNI.edge_targetID_get(SWIGTYPE_p_yskInput__edge.getCPtr(self));
+  public static SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t ClusterEditingSolutions_getSolution(SWIGTYPE_p_ysk__ClusterEditingSolutions self, long i) {
+    return new SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t(LibraryInterfaceJNI.ClusterEditingSolutions_getSolution(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self), i), false);
   }
 
-  public static void edge_cost_set(SWIGTYPE_p_yskInput__edge self, double value) {
-    LibraryInterfaceJNI.edge_cost_set(SWIGTYPE_p_yskInput__edge.getCPtr(self), value);
+  public static long ClusterEditingSolutions_getNumberOfSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions self) {
+    return LibraryInterfaceJNI.ClusterEditingSolutions_getNumberOfSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self));
   }
 
-  public static double edge_cost_get(SWIGTYPE_p_yskInput__edge self) {
-    return LibraryInterfaceJNI.edge_cost_get(SWIGTYPE_p_yskInput__edge.getCPtr(self));
+  public static double ClusterEditingSolutions_getTotalCost(SWIGTYPE_p_ysk__ClusterEditingSolutions self) {
+    return LibraryInterfaceJNI.ClusterEditingSolutions_getTotalCost(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self));
   }
 
-  public static SWIGTYPE_p_yskInput__edge new_edge() {
-    long cPtr = LibraryInterfaceJNI.new_edge();
-    return (cPtr == 0) ? null : new SWIGTYPE_p_yskInput__edge(cPtr, true);
-  }
-
-  public static void delete_edge(SWIGTYPE_p_yskInput__edge self) {
-    LibraryInterfaceJNI.delete_edge(SWIGTYPE_p_yskInput__edge.getCPtr(self));
-  }
-
-  public static SWIGTYPE_p_ysk__ClusterEditingInstance LibraryInput_parseInput(SWIGTYPE_p_yskInput__LibraryInput self) {
-    long cPtr = LibraryInterfaceJNI.LibraryInput_parseInput(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self));
-    return (cPtr == 0) ? null : new SWIGTYPE_p_ysk__ClusterEditingInstance(cPtr, false);
+  public static void delete_ClusterEditingSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions self) {
+    LibraryInterfaceJNI.delete_ClusterEditingSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self));
   }
 
   public static SWIGTYPE_p_yskInput__LibraryInput new_LibraryInput() {
@@ -52,6 +43,10 @@ public class LibraryInterface {
     return (cPtr == 0) ? null : new SWIGTYPE_p_yskInput__LibraryInput(cPtr, true);
   }
 
+  public static void delete_LibraryInput(SWIGTYPE_p_yskInput__LibraryInput self) {
+    LibraryInterfaceJNI.delete_LibraryInput(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self));
+  }
+
   public static void LibraryInput_setSize(SWIGTYPE_p_yskInput__LibraryInput self, int id) {
     LibraryInterfaceJNI.LibraryInput_setSize(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self), id);
   }
@@ -60,17 +55,13 @@ public class LibraryInterface {
     LibraryInterfaceJNI.LibraryInput_addEdge(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self), sourceID, targetID, cost);
   }
 
-  public static void delete_LibraryInput(SWIGTYPE_p_yskInput__LibraryInput self) {
-    LibraryInterfaceJNI.delete_LibraryInput(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self));
-  }
-
   public static String getVersionString() {
     return LibraryInterfaceJNI.getVersionString();
   }
 
-  public static SWIGTYPE_p_ysk__ClusterEditingInstance createNewProblemInstance() {
-    long cPtr = LibraryInterfaceJNI.createNewProblemInstance();
-    return (cPtr == 0) ? null : new SWIGTYPE_p_ysk__ClusterEditingInstance(cPtr, false);
+  public static SWIGTYPE_p_ysk__ClusterEditingSolutions processLibraryInput(SWIGTYPE_p_yskInput__LibraryInput libIn) {
+    long cPtr = LibraryInterfaceJNI.processLibraryInput(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(libIn));
+    return (cPtr == 0) ? null : new SWIGTYPE_p_ysk__ClusterEditingSolutions(cPtr, false);
   }
 
 }
diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceConstants.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceConstants.java
new file mode 100644
index 0000000000000000000000000000000000000000..76ea9fd897dd03ec6a77c0d32659d983933ff866
--- /dev/null
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceConstants.java
@@ -0,0 +1,13 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 3.0.8
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+package de.hhu.ba.yoshikoWrapper.swig;
+
+public interface LibraryInterfaceConstants {
+  public final static int CPXSIZE_BITS = LibraryInterfaceJNI.CPXSIZE_BITS_get();
+}
diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceJNI.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceJNI.java
index c60fa9d1c08f66a9ecc49f62d845052dcf393c92..61cf480a878949ab3aa3140475ad76c1b82475db 100644
--- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceJNI.java
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/LibraryInterfaceJNI.java
@@ -9,19 +9,18 @@
 package de.hhu.ba.yoshikoWrapper.swig;
 
 public class LibraryInterfaceJNI {
-  public final static native void edge_sourceID_set(long jarg1, int jarg2);
-  public final static native int edge_sourceID_get(long jarg1);
-  public final static native void edge_targetID_set(long jarg1, int jarg2);
-  public final static native int edge_targetID_get(long jarg1);
-  public final static native void edge_cost_set(long jarg1, double jarg2);
-  public final static native double edge_cost_get(long jarg1);
-  public final static native long new_edge();
-  public final static native void delete_edge(long jarg1);
-  public final static native long LibraryInput_parseInput(long jarg1);
+  public final static native long new_ClusterEditingSolutions();
+  public final static native long ClusterEditingSolutions_getNumberOfClusters(long jarg1, long jarg2);
+  public final static native long ClusterEditingSolutions_getCluster(long jarg1, long jarg2, long jarg3);
+  public final static native long ClusterEditingSolutions_getSolution(long jarg1, long jarg2);
+  public final static native long ClusterEditingSolutions_getNumberOfSolutions(long jarg1);
+  public final static native double ClusterEditingSolutions_getTotalCost(long jarg1);
+  public final static native void delete_ClusterEditingSolutions(long jarg1);
   public final static native long new_LibraryInput();
+  public final static native void delete_LibraryInput(long jarg1);
   public final static native void LibraryInput_setSize(long jarg1, int jarg2);
   public final static native void LibraryInput_addEdge(long jarg1, int jarg2, int jarg3, double jarg4);
-  public final static native void delete_LibraryInput(long jarg1);
+  public final static native int CPXSIZE_BITS_get();
   public final static native String getVersionString();
-  public final static native long createNewProblemInstance();
+  public final static native long processLibraryInput(long jarg1);
 }
diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_yskInput__edge.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_std__vectorT_int_t.java
similarity index 67%
rename from src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_yskInput__edge.java
rename to src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_std__vectorT_int_t.java
index 928b8c95e2ffabdb5305aea04855569fab2c29a2..f7a734ecb7d647fa23613325df98a37e49030768 100644
--- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_yskInput__edge.java
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_std__vectorT_int_t.java
@@ -8,18 +8,18 @@
 
 package de.hhu.ba.yoshikoWrapper.swig;
 
-public class SWIGTYPE_p_yskInput__edge {
+public class SWIGTYPE_p_std__vectorT_int_t {
   private transient long swigCPtr;
 
-  protected SWIGTYPE_p_yskInput__edge(long cPtr, @SuppressWarnings("unused") boolean futureUse) {
+  protected SWIGTYPE_p_std__vectorT_int_t(long cPtr, @SuppressWarnings("unused") boolean futureUse) {
     swigCPtr = cPtr;
   }
 
-  protected SWIGTYPE_p_yskInput__edge() {
+  protected SWIGTYPE_p_std__vectorT_int_t() {
     swigCPtr = 0;
   }
 
-  protected static long getCPtr(SWIGTYPE_p_yskInput__edge obj) {
+  protected static long getCPtr(SWIGTYPE_p_std__vectorT_int_t obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
 }
diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t.java
new file mode 100644
index 0000000000000000000000000000000000000000..5f06b6495c6f94fcc62edbe282f5dec04e779d58
--- /dev/null
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t.java
@@ -0,0 +1,26 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 3.0.8
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+package de.hhu.ba.yoshikoWrapper.swig;
+
+public class SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t {
+  private transient long swigCPtr;
+
+  protected SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t(long cPtr, @SuppressWarnings("unused") boolean futureUse) {
+    swigCPtr = cPtr;
+  }
+
+  protected SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t() {
+    swigCPtr = 0;
+  }
+
+  protected static long getCPtr(SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
+}
+
diff --git a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_ysk__ClusterEditingInstance.java b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_ysk__ClusterEditingSolutions.java
similarity index 64%
rename from src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_ysk__ClusterEditingInstance.java
rename to src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_ysk__ClusterEditingSolutions.java
index 83823e54559e855c05ca4dc0b5045de00c25fa9a..6a12b664aee7e8bfd1eb91396042892997ee41e6 100644
--- a/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_ysk__ClusterEditingInstance.java
+++ b/src/main/java/de/hhu/ba/yoshikoWrapper/swig/SWIGTYPE_p_ysk__ClusterEditingSolutions.java
@@ -8,18 +8,18 @@
 
 package de.hhu.ba.yoshikoWrapper.swig;
 
-public class SWIGTYPE_p_ysk__ClusterEditingInstance {
+public class SWIGTYPE_p_ysk__ClusterEditingSolutions {
   private transient long swigCPtr;
 
-  protected SWIGTYPE_p_ysk__ClusterEditingInstance(long cPtr, @SuppressWarnings("unused") boolean futureUse) {
+  protected SWIGTYPE_p_ysk__ClusterEditingSolutions(long cPtr, @SuppressWarnings("unused") boolean futureUse) {
     swigCPtr = cPtr;
   }
 
-  protected SWIGTYPE_p_ysk__ClusterEditingInstance() {
+  protected SWIGTYPE_p_ysk__ClusterEditingSolutions() {
     swigCPtr = 0;
   }
 
-  protected static long getCPtr(SWIGTYPE_p_ysk__ClusterEditingInstance obj) {
+  protected static long getCPtr(SWIGTYPE_p_ysk__ClusterEditingSolutions obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
 }