diff --git a/entity/WorkflowDefinition_entity/WorkflowDefinition_entity.aod b/entity/WorkflowDefinition_entity/WorkflowDefinition_entity.aod
index 0c35d7ee8ef1278edffa25dca56867a15fdef094..dfeca41ef02f14a11b63195199fb2cb04ab582d1 100644
--- a/entity/WorkflowDefinition_entity/WorkflowDefinition_entity.aod
+++ b/entity/WorkflowDefinition_entity/WorkflowDefinition_entity.aod
@@ -18,6 +18,8 @@
       <children>
         <entityActionField>
           <name>importWorkflow</name>
+          <isMenuAction v="false" />
+          <isObjectAction v="false" />
         </entityActionField>
       </children>
     </entityActionGroup>
@@ -33,6 +35,7 @@
     <entityField>
       <name>FILEUPLOAD</name>
       <contentType>FILE</contentType>
+      <onValidation>%aditoprj%/entity/WorkflowDefinition_entity/entityfields/fileupload/onValidation.js</onValidation>
     </entityField>
     <entityConsumer>
       <name>Instances</name>
@@ -53,10 +56,21 @@
       <name>NAME</name>
       <title>Name</title>
     </entityField>
+    <entityActionField>
+      <name>startNewInstance</name>
+      <title>Start workflow</title>
+      <iconId>VAADIN:PLAY</iconId>
+    </entityActionField>
+    <entityField>
+      <name>DIAGRAM</name>
+      <contentType>IMAGE</contentType>
+      <valueProcess>%aditoprj%/entity/WorkflowDefinition_entity/entityfields/diagram/valueProcess.js</valueProcess>
+    </entityField>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
       <name>jdito</name>
+      <isFilterable v="true" />
       <contentProcess>%aditoprj%/entity/WorkflowDefinition_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
       <onInsert>%aditoprj%/entity/WorkflowDefinition_entity/recordcontainers/jdito/onInsert.js</onInsert>
       <recordFieldMappings>
@@ -65,9 +79,11 @@
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>NAME.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>CATEGORY.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>KEY.value</name>
@@ -77,6 +93,7 @@
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>ISACTIVE.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
       </recordFieldMappings>
     </jDitoRecordContainer>
diff --git a/entity/WorkflowDefinition_entity/entityfields/diagram/valueProcess.js b/entity/WorkflowDefinition_entity/entityfields/diagram/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..7d8f58e356d1b5b125e191e7ff32c7f5ee45eb0a
--- /dev/null
+++ b/entity/WorkflowDefinition_entity/entityfields/diagram/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+import("system.workflow");
+
+if (vars.get("$sys.viewmode") == neon.FRAME_VIEWMODE_DATASET)
+    result.string(workflow.getProcessDiagram(vars.get("$field.UID")));
\ No newline at end of file
diff --git a/entity/WorkflowDefinition_entity/entityfields/fileupload/onValidation.js b/entity/WorkflowDefinition_entity/entityfields/fileupload/onValidation.js
new file mode 100644
index 0000000000000000000000000000000000000000..867d24c7332926a15ca1260c5f01f9aa06152a39
--- /dev/null
+++ b/entity/WorkflowDefinition_entity/entityfields/fileupload/onValidation.js
@@ -0,0 +1,10 @@
+import("system.logging");
+import("system.result");
+import("system.vars");
+import("Document_lib");
+import("MimeType_lib");
+
+var mimetype = DocumentUtil.getMimeTypeFromUpload(vars.get("$local.value"));
+
+if (mimetype != MimeTypes.XML())
+    result.string("yeeeeeet");
\ No newline at end of file
diff --git a/entity/WorkflowDefinition_entity/recordcontainers/jdito/contentProcess.js b/entity/WorkflowDefinition_entity/recordcontainers/jdito/contentProcess.js
index f858d71640ff4876c88dce814b52a5b6b67b0cda..48ccb38fca84f71db04118f7f8bf7ead7800897c 100644
--- a/entity/WorkflowDefinition_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/WorkflowDefinition_entity/recordcontainers/jdito/contentProcess.js
@@ -1,7 +1,8 @@
+import("system.vars");
 import("system.result");
 import("Workflow_lib");
 import("system.workflow");
-
+import("JditoFilter_lib");
 
 var workflowDefObj = WorkflowDefinitionUtils.getDeployedDefinitions();
 var workflowDefs = [];
@@ -18,4 +19,6 @@ for (let i = 0, l = workflowDefObj.length; i < l; i++)
     ]);
 }
 
+workflowDefs = JditoFilterUtils.filterRecords(["UID", "NAME", "CATEGORY", "KEY", "VERSION", "ACTIVE"], workflowDefs, vars.get("$local.filter").filter);
+
 result.object(workflowDefs);
\ No newline at end of file
diff --git a/entity/WorkflowInstance_entity/WorkflowInstance_entity.aod b/entity/WorkflowInstance_entity/WorkflowInstance_entity.aod
index 71db007610e51c593504b1a7fc274ec9249d8212..492ca5a5c69390554504949a4b8aaae0cc1819c5 100644
--- a/entity/WorkflowInstance_entity/WorkflowInstance_entity.aod
+++ b/entity/WorkflowInstance_entity/WorkflowInstance_entity.aod
@@ -23,6 +23,10 @@
         </entityDependency>
       </dependencies>
     </entityProvider>
+    <entityParameter>
+      <name>WorkflowDefinitionId_param</name>
+      <expose v="true" />
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
diff --git a/neonContext/WorkflowDefinition/WorkflowDefinition.aod b/neonContext/WorkflowDefinition/WorkflowDefinition.aod
index 1d0fcb581761058ce81c4fd372fc66714051d984..7270f1a656fa02dbaed6c55ae8c7c7932768a367 100644
--- a/neonContext/WorkflowDefinition/WorkflowDefinition.aod
+++ b/neonContext/WorkflowDefinition/WorkflowDefinition.aod
@@ -25,5 +25,9 @@
       <name>c3f4a104-c72f-40c2-a7a3-e2dcb3df35d1</name>
       <view>WorkflowDefinitionPreview_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>92c166cc-ccb3-4ce0-8cb8-315925350fb8</name>
+      <view>WorkflowDefinitionDiagram_view</view>
+    </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonContext/WorkflowInstance/WorkflowInstance.aod b/neonContext/WorkflowInstance/WorkflowInstance.aod
index 8a865caa694288b992f4dc5c35c25b25bc542ad2..166a101fd709d93aa0d18751d5fbad28ee405ab2 100644
--- a/neonContext/WorkflowInstance/WorkflowInstance.aod
+++ b/neonContext/WorkflowInstance/WorkflowInstance.aod
@@ -2,5 +2,16 @@
 <neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
   <name>WorkflowInstance</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterview>WorkflowInstanceFilter_view</filterview>
   <entity>WorkflowInstance_entity</entity>
+  <references>
+    <neonViewReference>
+      <name>db8314f5-c171-4793-968f-ee32891467f8</name>
+      <view>WorkflowInstanceFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>f80251a2-25e3-41f3-a933-6663e733ed7a</name>
+      <view>WorkflowInstancePreview_view</view>
+    </neonViewReference>
+  </references>
 </neonContext>
diff --git a/neonView/WorkflowDefinitionDiagram_view/WorkflowDefinitionDiagram_view.aod b/neonView/WorkflowDefinitionDiagram_view/WorkflowDefinitionDiagram_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..b74e1c472c7e7d7b56dcf65b68375c89540e90d5
--- /dev/null
+++ b/neonView/WorkflowDefinitionDiagram_view/WorkflowDefinitionDiagram_view.aod
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>WorkflowDefinitionDiagram_view</name>
+  <title>Diagram</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <pictureViewTemplate>
+      <name>Diagram</name>
+      <pictureField>DIAGRAM</pictureField>
+      <entityField>#ENTITY</entityField>
+    </pictureViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/WorkflowDefinitionFilter_view/WorkflowDefinitionFilter_view.aod b/neonView/WorkflowDefinitionFilter_view/WorkflowDefinitionFilter_view.aod
index 745c817d7ff21e19ea063eab3d0930b13e4a44c8..5d978a336322f9e038ab12ee6ab6c6392a770e69 100644
--- a/neonView/WorkflowDefinitionFilter_view/WorkflowDefinitionFilter_view.aod
+++ b/neonView/WorkflowDefinitionFilter_view/WorkflowDefinitionFilter_view.aod
@@ -2,6 +2,7 @@
 <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>WorkflowDefinitionFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
   <layout>
     <boxLayout>
       <name>layout</name>
diff --git a/neonView/WorkflowDefinitionMain_view/WorkflowDefinitionMain_view.aod b/neonView/WorkflowDefinitionMain_view/WorkflowDefinitionMain_view.aod
index 083dda24d5c69f5c2aaea94d18747a2bf72ca0e7..3f1788cc60b803b722905c7d14bdaad502800c0d 100644
--- a/neonView/WorkflowDefinitionMain_view/WorkflowDefinitionMain_view.aod
+++ b/neonView/WorkflowDefinitionMain_view/WorkflowDefinitionMain_view.aod
@@ -14,5 +14,15 @@
       <entityField>#ENTITY</entityField>
       <view>WorkflowDefinitionPreview_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>17dd244c-fe9b-4df6-a6c0-7ebcfea04ec8</name>
+      <entityField>Instances</entityField>
+      <view>WorkflowInstanceFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>ffea2e5b-1f53-42ee-b845-9f06e4d23b30</name>
+      <entityField>#ENTITY</entityField>
+      <view>WorkflowDefinitionDiagram_view</view>
+    </neonViewReference>
   </children>
 </neonView>
diff --git a/neonView/WorkflowDefinitionPreview_view/WorkflowDefinitionPreview_view.aod b/neonView/WorkflowDefinitionPreview_view/WorkflowDefinitionPreview_view.aod
index 0e301c9834b65332fddd4972e22ddd06b7271d8f..98ff813a0dc0166eda9efdfd60c191dcb026daa2 100644
--- a/neonView/WorkflowDefinitionPreview_view/WorkflowDefinitionPreview_view.aod
+++ b/neonView/WorkflowDefinitionPreview_view/WorkflowDefinitionPreview_view.aod
@@ -11,6 +11,7 @@
     <cardViewTemplate>
       <name>Card</name>
       <titleField>NAME</titleField>
+      <subtitleField>CATEGORY</subtitleField>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
   </children>
diff --git a/neonView/WorkflowInstanceFilter_view/WorkflowInstanceFilter_view.aod b/neonView/WorkflowInstanceFilter_view/WorkflowInstanceFilter_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..c3724e16f2121c7bf78d3de5a60bde85de01120e
--- /dev/null
+++ b/neonView/WorkflowInstanceFilter_view/WorkflowInstanceFilter_view.aod
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>WorkflowInstanceFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Table</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>c5d2c47a-5b20-49c9-b49c-5aee951ce2db</name>
+          <entityField>UID</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/WorkflowInstancePreview_view/WorkflowInstancePreview_view.aod b/neonView/WorkflowInstancePreview_view/WorkflowInstancePreview_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..c786a1ca2efe8074ee9909feab6db5c0975bd7c6
--- /dev/null
+++ b/neonView/WorkflowInstancePreview_view/WorkflowInstancePreview_view.aod
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>WorkflowInstancePreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+    </headerFooterLayout>
+  </layout>
+</neonView>
diff --git a/process/JditoFilter_lib/process.js b/process/JditoFilter_lib/process.js
index a5641323c4841740e3a79066afc45d45e2ff939a..8f8b15f3a86f3892e0260e2a12141bc36b30e37f 100644
--- a/process/JditoFilter_lib/process.js
+++ b/process/JditoFilter_lib/process.js
@@ -131,7 +131,7 @@ JditoFilterUtils.filterRecords = function (pColumns, pRecords, pFilter, pCustomC
     if (!pFilter)
         return pRecords;
     
-    var filter = new JditoFilterHelper(pColumns, pFilter, pCustomCheckFns, pCheckFnThisArg);
+    var filter = new JditoFilterHelper(pColumns, pFilter, pCustomCheckFns || {}, pCheckFnThisArg);
     
     return pRecords.filter(function (row)
         {
diff --git a/process/Workflow_lib/process.js b/process/Workflow_lib/process.js
index 2d1fcbf93d22673a63dff2d1d92dee22550ade40..4fa7dc51ec69400b76a66e3514e3b4c740ea13a0 100644
--- a/process/Workflow_lib/process.js
+++ b/process/Workflow_lib/process.js
@@ -1,3 +1,4 @@
+import("system.logging");
 import("system.workflow");
 
 
@@ -14,6 +15,9 @@ WorkflowDefinitionUtils.getDeployedDefinitions = function (pCategory, pActive)
     var workflowDefs = workflow.getProcessDefinitions(loadConfig);
     workflowDefs = JSON.parse(workflowDefs);
     
+//    logging.log(JSON.stringify(workflowDefs, null, "\t"))
+//    workflow.startProcessByKey("offerVerification", [])
+    
     return workflowDefs;
 }