diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index de39800a712805df5f4c6c72e7d29458545f0137..cf7cee93e793ad22619d73f0e2de40711cf322b0 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -2,11 +2,24 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="d3e74292-1e1a-4cba-81b3-9c9d67f586ca" name="Default" comment="">
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/MDOproblem.py" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/old/demo.py" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/pyKADMOS/Demo.py" afterPath="" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/pyKADMOS/graphml_test.graphml" afterPath="" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/pyKADMOS/test.graphml" afterPath="" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/AGILE_DC1_L0_MDA.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS/AGILE_DC1_L0_MDA.xml" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/D1-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/D1-input.xml" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/D1-output.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/D1-output.xml" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/D150_fake.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS/D150_fake.xml" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/D2-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/D2-input.xml" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/D2-output.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/D2-output.xml" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/F-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/F-input.xml" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/F-output.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/F-output.xml" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/G1-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/G1-input.xml" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/G1-output.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/G1-output.xml" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/G2-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/G2-input.xml" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/G2-output.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/G2-output.xml" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/cpacs_schema.xsd" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS/cpacs_schema.xsd" />
+      <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/data_schema.xsd" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/data_schema.xsd" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/D2-output.xml" afterPath="$PROJECT_DIR$/pyKADMOS/D2-output.xml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/MDOproblem.py" afterPath="$PROJECT_DIR$/pyKADMOS/MDOproblem.py" />
     </list>
     <ignored path="KADMOS.iws" />
     <ignored path=".idea/workspace.xml" />
@@ -22,7 +35,7 @@
   <component name="CoverageDataManager">
     <SUITE FILE_PATH="coverage/KADMOS$testPyGraphML.coverage" NAME="testPyGraphML Coverage Results" MODIFIED="1461094575316" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pyKADMOS" />
     <SUITE FILE_PATH="coverage/KADMOS$demo.coverage" NAME="demo Coverage Results" MODIFIED="1461312857549" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pyKADMOS" />
-    <SUITE FILE_PATH="coverage/KADMOS$demo_OO.coverage" NAME="demo_OO Coverage Results" MODIFIED="1461863042964" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pyKADMOS" />
+    <SUITE FILE_PATH="coverage/KADMOS$demo_OO.coverage" NAME="demo_OO Coverage Results" MODIFIED="1462287331196" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pyKADMOS" />
   </component>
   <component name="CreatePatchCommitExecutor">
     <option name="PATCH_PATH" value="" />
@@ -32,7 +45,20 @@
     <favorites_list name="KADMOS" />
   </component>
   <component name="FileEditorManager">
-    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300" />
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
+      <file leaf-file-name="MDOproblem.py" pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/pyKADMOS/MDOproblem.py">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="422">
+              <caret line="630" column="51" selection-start-line="630" selection-start-column="51" selection-end-line="630" selection-end-column="51" />
+              <folding>
+                <element signature="e#0#9#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
   </component>
   <component name="FileTemplateManagerImpl">
     <option name="RECENT_TEMPLATES">
@@ -66,6 +92,7 @@
         <option value="$PROJECT_DIR$/pyKADMOS/D2-input.xml" />
         <option value="$PROJECT_DIR$/pyKADMOS/D2-output.xml" />
         <option value="$PROJECT_DIR$/pyKADMOS/demo_OO.py" />
+        <option value="$PROJECT_DIR$/pyKADMOS/utilities.py" />
         <option value="$PROJECT_DIR$/pyKADMOS/MDOproblem.py" />
       </list>
     </option>
@@ -77,8 +104,9 @@
     <sorting>DEFINITION_ORDER</sorting>
   </component>
   <component name="ProjectFrameBounds">
-    <option name="width" value="1280" />
-    <option name="height" value="800" />
+    <option name="y" value="23" />
+    <option name="width" value="1920" />
+    <option name="height" value="993" />
   </component>
   <component name="ProjectLevelVcsManager" settingsEditedManually="false">
     <OptionsSetting value="true" id="Add" />
@@ -105,53 +133,6 @@
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
-      <pane id="Scratches" />
-      <pane id="Scope">
-        <subPane subId="Project Files">
-          <PATH>
-            <PATH_ELEMENT USER_OBJECT="Root">
-              <option name="myItemId" value="" />
-              <option name="myItemType" value="" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT USER_OBJECT="KADMOS">
-              <option name="myItemId" value="" />
-              <option name="myItemType" value="" />
-            </PATH_ELEMENT>
-          </PATH>
-          <PATH>
-            <PATH_ELEMENT USER_OBJECT="Root">
-              <option name="myItemId" value="" />
-              <option name="myItemType" value="" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT USER_OBJECT="KADMOS">
-              <option name="myItemId" value="" />
-              <option name="myItemType" value="" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT USER_OBJECT="pyKADMOS">
-              <option name="myItemId" value="" />
-              <option name="myItemType" value="" />
-            </PATH_ELEMENT>
-          </PATH>
-          <PATH>
-            <PATH_ELEMENT USER_OBJECT="Root">
-              <option name="myItemId" value="" />
-              <option name="myItemType" value="" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT USER_OBJECT="KADMOS">
-              <option name="myItemId" value="" />
-              <option name="myItemType" value="" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT USER_OBJECT="pyKADMOS">
-              <option name="myItemId" value="" />
-              <option name="myItemType" value="" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT USER_OBJECT="old">
-              <option name="myItemId" value="" />
-              <option name="myItemType" value="" />
-            </PATH_ELEMENT>
-          </PATH>
-        </subPane>
-      </pane>
       <pane id="ProjectPane">
         <subPane>
           <PATH>
@@ -292,6 +273,53 @@
           </PATH>
         </subPane>
       </pane>
+      <pane id="Scope">
+        <subPane subId="Project Files">
+          <PATH>
+            <PATH_ELEMENT USER_OBJECT="Root">
+              <option name="myItemId" value="" />
+              <option name="myItemType" value="" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT USER_OBJECT="KADMOS">
+              <option name="myItemId" value="" />
+              <option name="myItemType" value="" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT USER_OBJECT="Root">
+              <option name="myItemId" value="" />
+              <option name="myItemType" value="" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT USER_OBJECT="KADMOS">
+              <option name="myItemId" value="" />
+              <option name="myItemType" value="" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT USER_OBJECT="pyKADMOS">
+              <option name="myItemId" value="" />
+              <option name="myItemType" value="" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT USER_OBJECT="Root">
+              <option name="myItemId" value="" />
+              <option name="myItemType" value="" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT USER_OBJECT="KADMOS">
+              <option name="myItemId" value="" />
+              <option name="myItemType" value="" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT USER_OBJECT="pyKADMOS">
+              <option name="myItemId" value="" />
+              <option name="myItemType" value="" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT USER_OBJECT="KB_Sellar">
+              <option name="myItemId" value="" />
+              <option name="myItemType" value="" />
+            </PATH_ELEMENT>
+          </PATH>
+        </subPane>
+      </pane>
+      <pane id="Scratches" />
     </panes>
   </component>
   <component name="PropertiesComponent">
@@ -299,16 +327,19 @@
     <property name="WebServerToolWindowFactoryState" value="false" />
     <property name="settings.editor.selected.configurable" value="reference.settingsdialog.IDE.editor.postfix.templates" />
     <property name="settings.editor.splitter.proportion" value="0.2" />
-    <property name="FullScreen" value="true" />
     <property name="ToolWindowRun.ShowToolbar" value="false" />
   </component>
   <component name="RecentsManager">
-    <key name="MoveFile.RECENT_KEYS">
-      <recent name="$PROJECT_DIR$/pyKADMOS/old" />
-    </key>
     <key name="CopyFile.RECENT_KEYS">
+      <recent name="$PROJECT_DIR$/pyKADMOS/KB_Sellar" />
       <recent name="$PROJECT_DIR$/pyKADMOS" />
     </key>
+    <key name="MoveFile.RECENT_KEYS">
+      <recent name="$PROJECT_DIR$/pyKADMOS/KB_Sellar" />
+      <recent name="$PROJECT_DIR$/pyKADMOS" />
+      <recent name="$PROJECT_DIR$/pyKADMOS/KB_CPACS" />
+      <recent name="$PROJECT_DIR$/pyKADMOS/old" />
+    </key>
   </component>
   <component name="RunManager" selected="Python.demo_OO">
     <configuration default="false" name="testPyGraphML" type="PythonConfigurationType" factoryName="Python" temporary="true">
@@ -603,16 +634,16 @@
     <servers />
   </component>
   <component name="ToolWindowManager">
-    <frame x="0" y="0" width="1280" height="800" extended-state="0" />
-    <editor active="false" />
+    <frame x="0" y="23" width="1920" height="993" extended-state="6" />
+    <editor active="true" />
     <layout>
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.228125" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.17552084" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
-      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.34661356" sideWeight="0.453125" order="7" side_tool="true" content_ui="tabs" />
+      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.26948053" sideWeight="0.46458334" order="7" side_tool="true" content_ui="tabs" />
       <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
-      <window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32623428" sideWeight="0.47083333" order="7" side_tool="false" content_ui="tabs" />
+      <window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32575756" sideWeight="0.46875" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.34661356" sideWeight="0.546875" order="2" side_tool="false" content_ui="tabs" />
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.26948053" sideWeight="0.53541666" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32913843" sideWeight="0.49479166" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
@@ -644,21 +675,51 @@
     <watches-manager />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/__init__.py">
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/MDOproblem.py">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+          <folding>
+            <element signature="e#0#9#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/data_schema.xsd">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="705">
+          <caret line="47" column="23" selection-start-line="47" selection-start-column="23" selection-end-line="47" selection-end-column="23" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/D1-input.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="150">
+          <caret line="10" column="14" selection-start-line="10" selection-start-column="14" selection-end-line="10" selection-end-column="14" />
           <folding />
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/D1-output.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="0">
+          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/__init__.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="0">
+          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/pyKADMOS/old/demo.py">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="4050">
           <caret line="274" column="91" selection-start-line="274" selection-start-column="2" selection-end-line="274" selection-end-column="91" />
-          <folding>
-            <element signature="e#66#79#0" expanded="true" />
-          </folding>
         </state>
       </provider>
     </entry>
@@ -667,7 +728,7 @@
         <state relative-caret-position="0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
           <folding>
-            <element signature="e#0#13#0" expanded="true" />
+            <element signature="e#0#9#0" expanded="true" />
           </folding>
         </state>
       </provider>
@@ -676,7 +737,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -684,9 +744,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="4050">
           <caret line="274" column="91" selection-start-line="274" selection-start-column="2" selection-end-line="274" selection-end-column="91" />
-          <folding>
-            <element signature="e#66#79#0" expanded="true" />
-          </folding>
         </state>
       </provider>
     </entry>
@@ -695,7 +752,7 @@
         <state relative-caret-position="0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
           <folding>
-            <element signature="e#0#13#0" expanded="true" />
+            <element signature="e#0#9#0" expanded="true" />
           </folding>
         </state>
       </provider>
@@ -704,7 +761,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -712,7 +768,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -720,9 +775,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="2685">
           <caret line="183" column="21" selection-start-line="183" selection-start-column="21" selection-end-line="183" selection-end-column="21" />
-          <folding>
-            <element signature="e#66#79#0" expanded="true" />
-          </folding>
         </state>
       </provider>
     </entry>
@@ -730,7 +782,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -738,7 +789,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -746,20 +796,17 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding>
-            <element signature="e#66#79#0" expanded="true" />
-          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/data_schema.xsd">
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/data_schema.xsd">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="645">
           <caret line="43" column="60" selection-start-line="43" selection-start-column="60" selection-end-line="43" selection-end-column="60" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/D1-input.xml">
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/D1-input.xml">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="150">
           <caret line="10" column="14" selection-start-line="10" selection-start-column="14" selection-end-line="10" selection-end-column="14" />
@@ -767,7 +814,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/D2-input.xml">
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/D2-input.xml">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="135">
           <caret line="9" column="14" selection-start-line="9" selection-start-column="14" selection-end-line="9" selection-end-column="14" />
@@ -779,7 +826,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -787,7 +833,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -795,7 +840,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -803,7 +847,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -822,7 +865,7 @@
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/pyKADMOS/cpacslib.py" />
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/D150_fake.xml">
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS/D150_fake.xml">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="435">
           <caret line="29" column="6" selection-start-line="29" selection-start-column="6" selection-end-line="29" selection-end-column="6" />
@@ -837,30 +880,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/D1-input.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="15">
-          <caret line="1" column="47" selection-start-line="1" selection-start-column="47" selection-end-line="1" selection-end-column="47" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/D1-output.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="75">
-          <caret line="5" column="14" selection-start-line="5" selection-start-column="14" selection-end-line="5" selection-end-column="14" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/cpacs_schema.xsd">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/AGILE_DC1_L0_MDA.xml">
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS/AGILE_DC1_L0_MDA.xml">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
@@ -868,7 +888,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/G2-input.xml">
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/G2-input.xml">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="75">
           <caret line="5" column="14" selection-start-line="5" selection-start-column="14" selection-end-line="5" selection-end-column="14" />
@@ -876,7 +896,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/G1-input.xml">
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/G1-input.xml">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="15">
           <caret line="1" column="42" selection-start-line="1" selection-start-column="42" selection-end-line="1" selection-end-column="42" />
@@ -884,7 +904,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/G2-output.xml">
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/G2-output.xml">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="75">
           <caret line="5" column="14" selection-start-line="5" selection-start-column="14" selection-end-line="5" selection-end-column="14" />
@@ -892,14 +912,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/data_schema.xsd">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-135">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/F-input.xml">
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/F-input.xml">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="45">
           <caret line="3" column="16" selection-start-line="3" selection-start-column="16" selection-end-line="3" selection-end-column="16" />
@@ -907,7 +920,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/G1-output.xml">
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/G1-output.xml">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="15">
           <caret line="1" column="26" selection-start-line="1" selection-start-column="26" selection-end-line="1" selection-end-column="26" />
@@ -915,7 +928,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/F-output.xml">
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/F-output.xml">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="75">
           <caret line="5" column="14" selection-start-line="5" selection-start-column="14" selection-end-line="5" selection-end-column="14" />
@@ -937,7 +950,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/D2-input.xml">
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/D2-input.xml">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="60">
           <caret line="4" column="4" selection-start-line="4" selection-start-column="4" selection-end-line="4" selection-end-column="4" />
@@ -945,7 +958,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pyKADMOS/D2-output.xml">
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/D2-output.xml">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="30">
           <caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
@@ -957,7 +970,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="-115">
           <caret line="1274" column="8" selection-start-line="1274" selection-start-column="8" selection-end-line="1274" selection-end-column="8" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -965,9 +977,37 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="3870">
           <caret line="258" column="0" selection-start-line="258" selection-start-column="0" selection-end-line="258" selection-end-column="0" />
-          <folding>
-            <element signature="e#66#79#0" expanded="true" />
-          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS/cpacs_schema.xsd">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="0">
+          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/data_schema.xsd">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="705">
+          <caret line="47" column="23" selection-start-line="47" selection-start-column="23" selection-end-line="47" selection-end-column="23" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/D1-output.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="0">
+          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/D1-input.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="150">
+          <caret line="10" column="14" selection-start-line="10" selection-start-column="14" selection-end-line="10" selection-end-column="14" />
+          <folding />
         </state>
       </provider>
     </entry>
@@ -979,12 +1019,28 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/data_schema2.xsd">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="0">
+          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pyKADMOS/utilities.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="0">
+          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/pyKADMOS/MDOproblem.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="44">
-          <caret line="93" column="18" selection-start-line="93" selection-start-column="18" selection-end-line="93" selection-end-column="18" />
+        <state relative-caret-position="422">
+          <caret line="630" column="51" selection-start-line="630" selection-start-column="51" selection-end-line="630" selection-end-column="51" />
           <folding>
-            <element signature="e#0#13#0" expanded="true" />
+            <element signature="e#0#9#0" expanded="true" />
           </folding>
         </state>
       </provider>
diff --git a/pyKADMOS/AGILE_DC1_L0_MDA.xml b/pyKADMOS/KB_CPACS/AGILE_DC1_L0_MDA.xml
similarity index 100%
rename from pyKADMOS/AGILE_DC1_L0_MDA.xml
rename to pyKADMOS/KB_CPACS/AGILE_DC1_L0_MDA.xml
diff --git a/pyKADMOS/D150_fake.xml b/pyKADMOS/KB_CPACS/D150_fake.xml
similarity index 100%
rename from pyKADMOS/D150_fake.xml
rename to pyKADMOS/KB_CPACS/D150_fake.xml
diff --git a/pyKADMOS/cpacs_schema.xsd b/pyKADMOS/KB_CPACS/cpacs_schema.xsd
similarity index 100%
rename from pyKADMOS/cpacs_schema.xsd
rename to pyKADMOS/KB_CPACS/cpacs_schema.xsd
diff --git a/pyKADMOS/D1-input.xml b/pyKADMOS/KB_Sellar/D1-input.xml
similarity index 100%
rename from pyKADMOS/D1-input.xml
rename to pyKADMOS/KB_Sellar/D1-input.xml
diff --git a/pyKADMOS/D1-output.xml b/pyKADMOS/KB_Sellar/D1-output.xml
similarity index 100%
rename from pyKADMOS/D1-output.xml
rename to pyKADMOS/KB_Sellar/D1-output.xml
diff --git a/pyKADMOS/D2-input.xml b/pyKADMOS/KB_Sellar/D2-input.xml
similarity index 100%
rename from pyKADMOS/D2-input.xml
rename to pyKADMOS/KB_Sellar/D2-input.xml
diff --git a/pyKADMOS/D2-output.xml b/pyKADMOS/KB_Sellar/D2-output.xml
similarity index 100%
rename from pyKADMOS/D2-output.xml
rename to pyKADMOS/KB_Sellar/D2-output.xml
diff --git a/pyKADMOS/F-input.xml b/pyKADMOS/KB_Sellar/F-input.xml
similarity index 100%
rename from pyKADMOS/F-input.xml
rename to pyKADMOS/KB_Sellar/F-input.xml
diff --git a/pyKADMOS/F-output.xml b/pyKADMOS/KB_Sellar/F-output.xml
similarity index 100%
rename from pyKADMOS/F-output.xml
rename to pyKADMOS/KB_Sellar/F-output.xml
diff --git a/pyKADMOS/G1-input.xml b/pyKADMOS/KB_Sellar/G1-input.xml
similarity index 100%
rename from pyKADMOS/G1-input.xml
rename to pyKADMOS/KB_Sellar/G1-input.xml
diff --git a/pyKADMOS/G1-output.xml b/pyKADMOS/KB_Sellar/G1-output.xml
similarity index 100%
rename from pyKADMOS/G1-output.xml
rename to pyKADMOS/KB_Sellar/G1-output.xml
diff --git a/pyKADMOS/G2-input.xml b/pyKADMOS/KB_Sellar/G2-input.xml
similarity index 100%
rename from pyKADMOS/G2-input.xml
rename to pyKADMOS/KB_Sellar/G2-input.xml
diff --git a/pyKADMOS/G2-output.xml b/pyKADMOS/KB_Sellar/G2-output.xml
similarity index 100%
rename from pyKADMOS/G2-output.xml
rename to pyKADMOS/KB_Sellar/G2-output.xml
diff --git a/pyKADMOS/data_schema.xsd b/pyKADMOS/KB_Sellar/data_schema.xsd
similarity index 100%
rename from pyKADMOS/data_schema.xsd
rename to pyKADMOS/KB_Sellar/data_schema.xsd
diff --git a/pyKADMOS/MDOproblem.py b/pyKADMOS/MDOproblem.py
index a9def45391b044be43cea510b9246d7644d6ab21..12d6d839345f0d630a1fdb83d9258519346a023f 100644
--- a/pyKADMOS/MDOproblem.py
+++ b/pyKADMOS/MDOproblem.py
@@ -1,30 +1,62 @@
+import os
 import pprint
+from os.path import join, isfile
 from lxml import etree
 import networkx as nx
 import matplotlib.pyplot as plt
-from networkx.algorithms.minors import contracted_nodes
 
 class MDOproblem:
     """
     Class that can be used to formally specify an MDO problem and analyze it based on graph theoretical analyses.
     """
 
-    def __init__(self, data_schema, function_i_o_xmls):
+    def __init__(self, knowledge_base):
         """
         Standard class __init__ function. Includes input checks.
-        :param data_schema: .xsd file containing the XML Schema that describes the data schema.
-        :param function_i_o_xmls: dictionary with XML file names specifying input and output of tools in the following
+        :param knowledge_base: name of the folder that contains the knowledge base
         structure: {'input':  [list with file names as strings],
                     'output': [list with file names as strings]}
         """
-        self.data_schema = data_schema
-        self.function_i_o_xmls = function_i_o_xmls
+        self.knowledge_base = knowledge_base
 
         print " "
         print "INPUT CHECKS"
 
-        # Check amount of input and output XMLs
-        if len(function_i_o_xmls['input']) != len(function_i_o_xmls['output']):
+        # Check if knowledge base folder exists
+        if os.path.exists(knowledge_base):
+            print "Knowledge base '%s' found." % self.knowledge_base
+        else:
+            raise IOError("Specified knowledge base '%s' does not exist." % self.knowledge_base)
+
+        # Read files in the KB
+        print "Reading files in the knowledge base."
+        KB_files = [f for f in os.listdir(self.knowledge_base) if isfile(join(self.knowledge_base, f))]
+
+        # Determine name of XML Schema file
+        xsd_schema_found = False
+        for file_name in KB_files:
+            if file_name[-4:] == '.xsd' and not xsd_schema_found:
+                self.data_schema = file_name
+                xsd_schema_found = True
+            elif file_name[-4:] == '.xsd' and xsd_schema_found:
+                raise IOError('Multiple XML Schemas (.xsd files) found in the knowledge base (%s). '
+                              'Only one .xsd file is allowed per knowledge base.'
+                              % self.knowledge_base)
+        if not xsd_schema_found:
+            raise IOError('No XML Schemas (.xsd files) found in the knowledge base (%s). '
+                              'A single .xsd file is required per knowledge base.'
+                              % self.knowledge_base)
+        else:
+            print "XML Schema '%s' found." % self.data_schema
+
+        # Read input and output XML files
+        self.function_i_o_xmls = dict(input=[], output=[])
+        self.function_i_o_xmls['input'] = [file for file in KB_files if file[-10:] == '-input.xml']
+        self.function_i_o_xmls['output'] = [file for file in KB_files if file[-11:] == '-output.xml']
+        print "Input files found: %s" % self.function_i_o_xmls['input']
+        print "Output files found: %s" % self.function_i_o_xmls['output']
+
+        if len(self.function_i_o_xmls['input']) != len(self.function_i_o_xmls['output']):
             raise IOError('Amount of function input and output XML files does not match.')
         else:
             print 'Amount of function input and output  files accepted.'
@@ -32,25 +64,25 @@ class MDOproblem:
         # Check the XML files against the
         self.check_against_xsd()
         print 'XML files successfully validated against schema.'
-
+        print ''
         # Additional checks
         #TODO: Add checks on input given (naming conventions, required data, etcetera).
 
     def check_against_xsd(self):
         # Parse the XML Schema
-        xmlschema_doc = etree.parse(self.data_schema)
+        xmlschema_doc = etree.parse(self.knowledge_base + '/' + self.data_schema)
         xmlschema = etree.XMLSchema(xmlschema_doc)
 
         for xml_file in self.function_i_o_xmls['input']:
             # Parse the XML file
-            tree = etree.parse(xml_file)
+            tree = etree.parse(self.knowledge_base + '/' + xml_file)
 
             # Validate XML file against the given schema
             xmlschema.assertValid(tree)
 
         for xml_file in self.function_i_o_xmls['output']:
             # Parse the XML file
-            tree = etree.parse(xml_file)
+            tree = etree.parse(self.knowledge_base + '/' + xml_file)
 
             # Validate XML file against the given schema
             xmlschema.assertValid(tree)
@@ -67,7 +99,7 @@ class MDOproblem:
 
         for xml_file in self.function_i_o_xmls['input']:
             # Parse the XML file
-            tree = etree.parse(xml_file)
+            tree = etree.parse(self.knowledge_base + '/' + xml_file)
             root = tree.getroot()
 
             # Iterate over the XML file to store its properties (valued_nodes and all_xpaths)
@@ -115,7 +147,7 @@ class MDOproblem:
         :return dict: collection of XML file properties, valued_nodes, and all_xpaths
         """
         # Parse the XML file
-        tree = etree.parse(xml_file)
+        tree = etree.parse(self.knowledge_base + '/' + xml_file)
         root = tree.getroot()
         element_tree = etree.ElementTree(root)
 
@@ -143,7 +175,6 @@ class MDOproblem:
     def get_common_nodes(self):
         """
         Function to find the common nodes between tool inputs and outputs.
-        :param function_data_lst:
         :return lst:
         """
         function_data = self.analyze_function_xmls()
@@ -472,15 +503,42 @@ class MDOproblem:
                     NotImplementedError('Unsupported node type found.')
         return result
 
-    def get_adjacency_matrix(self,graph):
+    def get_FPG_based_on_sink(self, sink):
+        """
+        Function to get the Fundamental Problem Graph based on the required output variable.
+        :param sink: node name of desired variable
+        :return graph: FPG graph object
+        """
+        MCG = self.get_MCG()
+        ancestors = nx.ancestors(MCG, sink)
+        ancestors.add(sink)
+        return MCG.subgraph(ancestors)
+
+    def get_FPG_based_on_sinks(self, list_of_sinks):
+        """
+        Function to get the Fundamental Problem Graph based on a list of sinks / required output variables.
+        :param list_of_sinks: list with strings that specify the desired output
+        :return graph: FPG graph object
+        """
+        MCG = self.get_MCG()
+        FPG = nx.DiGraph()
+        for sink in list_of_sinks:
+            ancestors = nx.ancestors(MCG, sink)
+            ancestors.add(sink)
+            FPG_sink = MCG.subgraph(ancestors)
+            FPG = nx.compose(FPG, FPG_sink)
+        return FPG
+
+    # STATIC FUNCTIONS
+    def get_adjacency_matrix(self, graph):
         """Function to determine the adjacency matrix of a graph.
         :param graph: input graph
         :return matrix dict: different types of same adjacency matrix in dictionary
         """
-        return {'dict of dicts' : nx.convert.to_dict_of_dicts(graph,edge_data=1),
-                'SciPy sparse matrix' : nx.adjacency_matrix(graph)}
+        return {'dict of dicts': nx.convert.to_dict_of_dicts(graph, edge_data=1),
+                'SciPy sparse matrix': nx.adjacency_matrix(graph)}
 
-    def get_graph_nodes_indegree(self,graph):
+    def get_graph_nodes_indegree(self, graph):
         """
         Function to get the indegree of all the graph nodes and store them in a dictionary.
         :param graph: DiGraph object
@@ -489,7 +547,7 @@ class MDOproblem:
         nid_dict = dict(list(graph.in_degree_iter()))
         return nid_dict
 
-    def get_graph_nodes_outdegree(self,graph):
+    def get_graph_nodes_outdegree(self, graph):
         """
         Function to get the outdegree of all the graph nodes and store them in a dictionary.
         :param graph: DiGraph object
@@ -498,18 +556,7 @@ class MDOproblem:
         nod_dict = dict(list(graph.out_degree_iter()))
         return nod_dict
 
-    def get_FPG_based_on_sink(self,sink):
-        """
-        Function to get the Fundamental Problem Graph based on the required output variable.
-        :param sink: node name of desired variable
-        :return graph: FPG graph object
-        """
-        MCG = self.get_MCG()
-        ancestors = nx.ancestors(MCG, sink)
-        ancestors.add(sink)
-        return MCG.subgraph(ancestors)
-
-    def plot_graph(self,G):
+    def plot_graph(self, G):
         """
         Function to plot a graph.
         :param G:
@@ -547,17 +594,9 @@ class MDOproblem:
         nx.write_graphml(graph, filename + '.graphml', encoding='utf-8', prettyprint=True)
         print "Graph successfully saved as: %s.graphml" % filename
 
+
 if __name__ == '__main__':
-    sellarProblem = MDOproblem('data_schema.xsd', {'input':['D1-input.xml',
-                                                            'D2-input.xml',
-                                                            'G1-input.xml',
-                                                            'G2-input.xml',
-                                                            'F-input.xml'],
-                                                   'output':['D1-output.xml',
-                                                             'D2-output.xml',
-                                                             'G1-output.xml',
-                                                             'G2-output.xml',
-                                                             'F-output.xml']})
+    sellarProblem = MDOproblem('KB_Sellar')
 
     function_data = sellarProblem.analyze_function_xmls()
     common_nodes = sellarProblem.get_common_nodes()
@@ -572,15 +611,30 @@ if __name__ == '__main__':
     function_graphs = sellarProblem.get_function_graphs()
     MCG = sellarProblem.get_MCG()
     ext_MCG = sellarProblem.get_extended_MCG()
-    contracted_graph = sellarProblem.get_contracted_graph(MCG, 0)
+    MCG_contracted_graph = sellarProblem.get_contracted_graph(MCG, 0)
+
+    adj_matrix = sellarProblem.get_adjacency_matrix(MCG)
 
-    result = sellarProblem.get_adjacency_matrix(MCG)
+    sinks = ['/data_schema/analyses/y2',
+             '/data_schema/analyses/y1',
+             '/data_schema/analyses/g2']
 
-    sink = '/data_schema/analyses/f'
+    #FPG = sellarProblem.get_FPG_based_on_sink(sinks[0])
+    FPG = sellarProblem.get_FPG_based_on_sinks(sinks)
+    FPG_contracted_graph = sellarProblem.get_contracted_graph(FPG, 2)
 
-    FPG = sellarProblem.get_FPG_based_on_sink(sink)
-    contracted_graph = sellarProblem.get_contracted_graph(FPG, 2)
 
-    sellarProblem.plot_graph(contracted_graph) #TODO: code pauses at this point now...
+    #sellarProblem.plot_graph(function_graph_D1)
+    #sellarProblem.plot_graph(function_graph_D12)
+    #sellarProblem.plot_graph(MCG)
+    #sellarProblem.plot_graph(ext_MCG)
+    #sellarProblem.plot_graph(MCG_contracted_graph)
+    # Adjacency matrix
+    print ' '
+    print 'Adjacency matrix:'
+    pp.pprint(adj_matrix['dict of dicts'])
+    #sellarProblem.plot_graph(FPG)
+    sellarProblem.plot_graph(FPG_contracted_graph)
 
+    #TODO: code pauses at this point now...
     # sellarProblem.save_as_graphml(MCG, 'test')
\ No newline at end of file
diff --git a/pyKADMOS/graphml_test.graphml b/pyKADMOS/graphml_test.graphml
deleted file mode 100644
index af0a291ce047b1fd5b4a4f6bc575fe98ac52d220..0000000000000000000000000000000000000000
--- a/pyKADMOS/graphml_test.graphml
+++ /dev/null
@@ -1,92 +0,0 @@
-<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
-  <key attr.name="label" attr.type="string" for="node" id="d3" />
-  <key attr.name="type" attr.type="string" for="node" id="d2" />
-  <key attr.name="shape" attr.type="string" for="node" id="d1" />
-  <key attr.name="name" attr.type="string" for="graph" id="d0" />
-  <graph edgedefault="directed">
-    <data key="d0">compose( ,  )</data>
-    <node id="/data_schema/analyses/y1">
-      <data key="d1">o</data>
-      <data key="d2">variable</data>
-      <data key="d3">y1</data>
-    </node>
-    <node id="/data_schema/analyses/y2">
-      <data key="d1">o</data>
-      <data key="d2">variable</data>
-      <data key="d3">y2</data>
-    </node>
-    <node id="F">
-      <data key="d1">s</data>
-      <data key="d2">function</data>
-      <data key="d3">F</data>
-    </node>
-    <node id="/data_schema/geometry/z2">
-      <data key="d1">o</data>
-      <data key="d2">variable</data>
-      <data key="d3">z2</data>
-    </node>
-    <node id="/data_schema/geometry/z1">
-      <data key="d1">o</data>
-      <data key="d2">variable</data>
-      <data key="d3">z1</data>
-    </node>
-    <node id="/data_schema/analyses/g2">
-      <data key="d1">o</data>
-      <data key="d2">variable</data>
-      <data key="d3">g2</data>
-    </node>
-    <node id="/data_schema/analyses/g1">
-      <data key="d1">o</data>
-      <data key="d2">variable</data>
-      <data key="d3">g1</data>
-    </node>
-    <node id="G2">
-      <data key="d1">s</data>
-      <data key="d2">function</data>
-      <data key="d3">G2</data>
-    </node>
-    <node id="G1">
-      <data key="d1">s</data>
-      <data key="d2">function</data>
-      <data key="d3">G1</data>
-    </node>
-    <node id="/data_schema/geometry/x1">
-      <data key="d1">o</data>
-      <data key="d2">variable</data>
-      <data key="d3">x1</data>
-    </node>
-    <node id="/data_schema/analyses/f">
-      <data key="d1">o</data>
-      <data key="d2">variable</data>
-      <data key="d3">/f</data>
-    </node>
-    <node id="D2">
-      <data key="d1">s</data>
-      <data key="d2">function</data>
-      <data key="d3">D2</data>
-    </node>
-    <node id="D1">
-      <data key="d1">s</data>
-      <data key="d2">function</data>
-      <data key="d3">D1</data>
-    </node>
-    <edge source="/data_schema/analyses/y1" target="D2" />
-    <edge source="/data_schema/analyses/y1" target="G1" />
-    <edge source="/data_schema/analyses/y1" target="F" />
-    <edge source="/data_schema/analyses/y2" target="D1" />
-    <edge source="/data_schema/analyses/y2" target="G2" />
-    <edge source="/data_schema/analyses/y2" target="F" />
-    <edge source="G2" target="/data_schema/analyses/g2" />
-    <edge source="G1" target="/data_schema/analyses/g1" />
-    <edge source="F" target="/data_schema/analyses/f" />
-    <edge source="/data_schema/geometry/x1" target="D1" />
-    <edge source="/data_schema/geometry/x1" target="F" />
-    <edge source="/data_schema/geometry/z2" target="D1" />
-    <edge source="/data_schema/geometry/z2" target="D2" />
-    <edge source="/data_schema/geometry/z2" target="F" />
-    <edge source="/data_schema/geometry/z1" target="D2" />
-    <edge source="/data_schema/geometry/z1" target="D1" />
-    <edge source="D2" target="/data_schema/analyses/y2" />
-    <edge source="D1" target="/data_schema/analyses/y1" />
-  </graph>
-</graphml>
diff --git a/pyKADMOS/test.graphml b/pyKADMOS/test.graphml
deleted file mode 100644
index af0a291ce047b1fd5b4a4f6bc575fe98ac52d220..0000000000000000000000000000000000000000
--- a/pyKADMOS/test.graphml
+++ /dev/null
@@ -1,92 +0,0 @@
-<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
-  <key attr.name="label" attr.type="string" for="node" id="d3" />
-  <key attr.name="type" attr.type="string" for="node" id="d2" />
-  <key attr.name="shape" attr.type="string" for="node" id="d1" />
-  <key attr.name="name" attr.type="string" for="graph" id="d0" />
-  <graph edgedefault="directed">
-    <data key="d0">compose( ,  )</data>
-    <node id="/data_schema/analyses/y1">
-      <data key="d1">o</data>
-      <data key="d2">variable</data>
-      <data key="d3">y1</data>
-    </node>
-    <node id="/data_schema/analyses/y2">
-      <data key="d1">o</data>
-      <data key="d2">variable</data>
-      <data key="d3">y2</data>
-    </node>
-    <node id="F">
-      <data key="d1">s</data>
-      <data key="d2">function</data>
-      <data key="d3">F</data>
-    </node>
-    <node id="/data_schema/geometry/z2">
-      <data key="d1">o</data>
-      <data key="d2">variable</data>
-      <data key="d3">z2</data>
-    </node>
-    <node id="/data_schema/geometry/z1">
-      <data key="d1">o</data>
-      <data key="d2">variable</data>
-      <data key="d3">z1</data>
-    </node>
-    <node id="/data_schema/analyses/g2">
-      <data key="d1">o</data>
-      <data key="d2">variable</data>
-      <data key="d3">g2</data>
-    </node>
-    <node id="/data_schema/analyses/g1">
-      <data key="d1">o</data>
-      <data key="d2">variable</data>
-      <data key="d3">g1</data>
-    </node>
-    <node id="G2">
-      <data key="d1">s</data>
-      <data key="d2">function</data>
-      <data key="d3">G2</data>
-    </node>
-    <node id="G1">
-      <data key="d1">s</data>
-      <data key="d2">function</data>
-      <data key="d3">G1</data>
-    </node>
-    <node id="/data_schema/geometry/x1">
-      <data key="d1">o</data>
-      <data key="d2">variable</data>
-      <data key="d3">x1</data>
-    </node>
-    <node id="/data_schema/analyses/f">
-      <data key="d1">o</data>
-      <data key="d2">variable</data>
-      <data key="d3">/f</data>
-    </node>
-    <node id="D2">
-      <data key="d1">s</data>
-      <data key="d2">function</data>
-      <data key="d3">D2</data>
-    </node>
-    <node id="D1">
-      <data key="d1">s</data>
-      <data key="d2">function</data>
-      <data key="d3">D1</data>
-    </node>
-    <edge source="/data_schema/analyses/y1" target="D2" />
-    <edge source="/data_schema/analyses/y1" target="G1" />
-    <edge source="/data_schema/analyses/y1" target="F" />
-    <edge source="/data_schema/analyses/y2" target="D1" />
-    <edge source="/data_schema/analyses/y2" target="G2" />
-    <edge source="/data_schema/analyses/y2" target="F" />
-    <edge source="G2" target="/data_schema/analyses/g2" />
-    <edge source="G1" target="/data_schema/analyses/g1" />
-    <edge source="F" target="/data_schema/analyses/f" />
-    <edge source="/data_schema/geometry/x1" target="D1" />
-    <edge source="/data_schema/geometry/x1" target="F" />
-    <edge source="/data_schema/geometry/z2" target="D1" />
-    <edge source="/data_schema/geometry/z2" target="D2" />
-    <edge source="/data_schema/geometry/z2" target="F" />
-    <edge source="/data_schema/geometry/z1" target="D2" />
-    <edge source="/data_schema/geometry/z1" target="D1" />
-    <edge source="D2" target="/data_schema/analyses/y2" />
-    <edge source="D1" target="/data_schema/analyses/y1" />
-  </graph>
-</graphml>