diff --git a/.gitignore b/.gitignore
index f05827d1abddc93e346fed75d7a9ff23217c938a..3e9c70b129bec919506b0d7a696f8b026e260f53 100644
--- a/.gitignore
+++ b/.gitignore
@@ -100,3 +100,7 @@ pnpm-debug.log*
 *.njsproj
 *.sln
 *.sw?
+
+# custom
+
+preset-definitions/
diff --git a/src/components/DBOverview.vue b/src/components/DBOverview.vue
index 8c6ebdde7e59a70ae147cc1ceed608355ba4478c..e816b406a6414bb19492784dd06e32d9ee3df0f9 100644
--- a/src/components/DBOverview.vue
+++ b/src/components/DBOverview.vue
@@ -26,7 +26,7 @@ async function getMermaid(selection) {
   const r = selection == null ? await api.makeERD(params) : await api.makeERD(params, { selection})
   if (r?.data) {
     mermaidText.value = r.data.mermaid
-    new Promise(() => setTimeout(unlockSVG, 500)) // never again do this
+    //new Promise(() => setTimeout(unlockSVG, 500)) // never do this again
   }
   loading.value = false
 }
diff --git a/src/components/SetupView.vue b/src/components/SetupView.vue
index 64ed12d958e4a18ed719fc953712facc274a8e9a..d9c9a0db852a604191df5be1da5a264e7829557d 100644
--- a/src/components/SetupView.vue
+++ b/src/components/SetupView.vue
@@ -86,12 +86,12 @@ function presetClicked(item) {
   else presetToLoad.value = item
 }
 
-function fileDroppedIn(files) {
+async function fileDroppedIn(files) {
   if (files?.length > 0) {
     const f = files[0]
     const uploadedPreset = JSON.parse(f)
     if (!!uploadedPreset) {
-      presets.addPreset(uploadedPreset)
+      await presetStore.addPreset(uploadedPreset)
       //presetToLoad.value = uploadedPreset
     }
   }
diff --git a/src/services/preset-definitions/hardcoded-presets.ts b/src/services/preset-definitions/hardcoded-presets.ts
new file mode 100644
index 0000000000000000000000000000000000000000..2cc75f3f7820e32c8f4211bf0da76596cd0c7414
--- /dev/null
+++ b/src/services/preset-definitions/hardcoded-presets.ts
@@ -0,0 +1 @@
+export const hardcodedPresets = []
diff --git a/src/services/preset-definitions/testing.ts b/src/services/preset-definitions/testing.ts
deleted file mode 100644
index eb76bb6337b37d92df5a93ae2fbe0a0e649ef059..0000000000000000000000000000000000000000
--- a/src/services/preset-definitions/testing.ts
+++ /dev/null
@@ -1,186 +0,0 @@
-import {PresetDefinition} from "@/services/presetStore";
-
-export const TEST_PRESET: PresetDefinition = {
-  props: {title: 'WZL Export', value: 'test'},
-  name: 'test',
-  key: 'test',
-  db_url: 'sqlite:///../static/test.sqlite3',
-  preset: {
-    virtual_views: [{
-      name: 'events',
-      schema: 'test-preset',
-      table_creation: {operation: 'existing', base_table: ['original', 'main', 'event_data']},
-      transforms: [{
-        operation: 'edit_columns',
-        additions: [[0, {
-          operation: 'add_column', col_name: 'kind', value: '"E"', target_type: {mitm: 'text'}
-        }], [2, {operation: 'add_column', col_name: 'object', value: '"dummy"', target_type: {mitm: 'text'}}]],
-        drops: ['show_on_dashboard', 'wqm_folder_name']
-      }]
-    },
-      {
-        name: 'sensor_a',
-        schema: 'test-preset',
-        table_creation: {
-          operation: 'existing',
-          base_table: ['original', 'main', 'measurement_data_1segmentedresampled']
-        },
-        transforms: [{
-          operation: 'edit_columns',
-          additions: [[0, {
-            operation: 'add_column', col_name: 'kind', value: '"M"', target_type: {mitm: 'text'}
-          }], [0, {
-            operation: 'add_column', col_name: 'type', value: '"sensor_a"', target_type: {mitm: 'text'}
-          }], [0, {operation: 'add_column', col_name: 'object', value: '"dummy"', target_type: {mitm: 'text'}}]],
-          transforms: {
-            //'time': {operation: 'cast_column', target_type: {mitm: 'datetime'}},
-            'x1': {operation: 'cast_column', target_type: {mitm: 'numeric'}},
-            'y1': {operation: 'cast_column', target_type: {mitm: 'numeric'}},
-            'z1': {operation: 'cast_column', target_type: {mitm: 'numeric'}},
-            'c1': {operation: 'cast_column', target_type: {mitm: 'numeric'}},
-            'a1': {operation: 'cast_column', target_type: {mitm: 'numeric'}},
-            'x2': {operation: 'cast_column', target_type: {mitm: 'numeric'}},
-            'y2': {operation: 'cast_column', target_type: {mitm: 'numeric'}},
-            'z2': {operation: 'cast_column', target_type: {mitm: 'numeric'}},
-            'xc': {operation: 'cast_column', target_type: {mitm: 'numeric'}},
-            'yc': {operation: 'cast_column', target_type: {mitm: 'numeric'}},
-            'zc': {operation: 'cast_column', target_type: {mitm: 'numeric'}},
-            'ac': {operation: 'cast_column', target_type: {mitm: 'numeric'}}
-          }
-        }]
-      },
-      {
-        name: 'sensor_b',
-        schema: 'test-preset',
-        table_creation: {
-          operation: 'existing',
-          base_table: ['original', 'main', 'measurement_data_2segmentedresampled']
-        },
-        transforms: [{
-          operation: 'edit_columns',
-          additions: [[0, {
-            operation: 'add_column', col_name: 'kind', value: '"M"', target_type: {mitm: 'text'}
-          }], [0, {
-            operation: 'add_column', col_name: 'type', value: '"sensor_b"', target_type: {mitm: 'text'}
-          }], [0, {operation: 'add_column', col_name: 'object', value: '"dummy"', target_type: {mitm: 'text'}}]],
-          transforms: {
-            //'time': {operation: 'cast_column', target_type: {mitm: 'datetime'}},
-            'tool_center_point_position_wcs_vector_1': {operation: 'cast_column', target_type: {mitm: 'numeric'}},
-            'tool_center_point_position_wcs_vector_2': {operation: 'cast_column', target_type: {mitm: 'numeric'}},
-            'tool_center_point_position_wcs_vector_3': {operation: 'cast_column', target_type: {mitm: 'numeric'}},
-          }
-        }]
-      },
-      {
-        name: 'segments',
-        schema: 'test-preset',
-        table_creation: {
-          operation: 'join',
-          left_table: ['original', 'main', 'machine_trace'],
-          right_table: ['original', 'main', 'machine_tool'],
-          on_cols_left: ['machine_id'],
-          on_cols_right: ['id'],
-          selected_cols_right: ['name']
-        },
-        transforms: [{
-          operation: 'edit_columns',
-          drops: ['_id', 'machine_id'],
-          additions: [[0, {
-            operation: 'add_column',
-            col_name: 'concept',
-            value: '"CNC_TRACE"',
-            target_type: {mitm: 'text'}
-          }]],
-          renames: {'id_serial': 'segment_index', 'name': 'object'},
-          transforms: {'wqm_data_available': {operation: 'cast_column', target_type: {mitm: 'boolean'}}}
-        }]
-      },
-      {
-        name: 'segment_data',
-        schema: 'test-preset',
-        table_creation: {
-          operation: 'existing',
-          base_table: ['virtual', 'test-preset', 'segments'],
-        },
-        transforms: [{
-          operation: 'edit_columns',
-          additions: [[2, {
-            operation: 'add_column',
-            col_name: 'type',
-            value: '"TRACE_INFO"',
-            target_type: {mitm: 'text'}
-          }]],
-          drops: ['time', 'time_end']
-        }]
-      }
-    ], concept_mappings: [
-      {
-        mitm: 'MAED',
-        concept: 'event',
-        base_table: ['virtual', 'test-preset', 'events'],
-        kind_col: 'kind',
-        type_col: 'name',
-        inline_relations: {
-          time: 'time', object: 'object'
-        },
-        attributes: ['value'],
-        attribute_dtypes: ['json']
-      },
-      {
-        mitm: 'MAED',
-        concept: 'measurement',
-        base_table: ['virtual', 'test-preset', 'sensor_a'],
-        kind_col: 'kind',
-        type_col: 'type',
-        inline_relations: {
-          time: 'time', object: 'object'
-        },
-        attributes: ['x1', 'y1', 'z1', 'c1', 'a1', 'x2', 'y2', 'z2', 'xc', 'yc', 'zc', 'cc', 'ac', 'ss', 'sc', 'ln', 'tn', 'sp'],
-        attribute_dtypes: ['numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'numeric', 'integer', 'numeric', 'integer', 'integer', 'integer', 'integer', 'text']
-      },
-      {
-        mitm: 'MAED',
-        concept: 'measurement',
-        base_table: ['virtual', 'test-preset', 'sensor_b'],
-        kind_col: 'kind',
-        type_col: 'type',
-        inline_relations: {
-          time: 'time', object: 'object'
-        },
-        attributes: ['tool_center_point_position_wcs_vector_1', 'tool_center_point_position_wcs_vector_2', 'tool_center_point_position_wcs_vector_3', 'engagement_repeatedly_cut_material_scalar', 'in_tool_number_actual', 'in_nc_line_number_actual', 'engagement_ap_smoothed_scalar', 'engagement_ae_smoothed_scalar', 'tool_feed_per_tooth_actual_scalar'],
-        attribute_dtypes: ['numeric', 'numeric', 'numeric', 'integer', 'integer', 'text', 'integer', 'integer', 'integer']
-      },
-      {
-        mitm: 'MAED',
-        concept: 'segment',
-        base_table: ['virtual', 'test-preset', 'segments'],
-        type_col: 'concept',
-        identity_columns: {
-          concept: 'concept', object: 'object', segment_index: 'segment_index'
-        },
-        inline_relations: {
-          start: 'time', end: 'time_end'
-        }
-      },
-      {
-        mitm: 'MAED',
-        concept: 'segment_data',
-        base_table: ['virtual', 'test-preset', 'segment_data'],
-        type_col: 'type',
-        identity_columns: {
-          concept: 'concept', object: 'object', segment_index: 'segment_index'
-        },
-        attributes: ['nc_name', 'wqm_data_available'],
-        attribute_dtypes: ['text', 'boolean']
-      }
-    ]
-  }
-}
-
-export const WZL_PRESET: PresetDefinition = {
-  props: {title: 'WZL postgres', value: 'wzl'},
-  name: 'wzl',
-  key: 'wzl',
-  db_url: 'postgresql://postgres:password@localhost:5432/test',
-  preset: {virtual_views: [], concept_mappings: []}
-}
diff --git a/src/services/presetStore.ts b/src/services/presetStore.ts
index cf2892cd9e2dd53e2222ceb5eeefddff56e65072..2050eefa15308f4e373e48d550daf4daf5e704f5 100644
--- a/src/services/presetStore.ts
+++ b/src/services/presetStore.ts
@@ -4,7 +4,8 @@ import {ConceptMapping, useAPI, VirtualViewCreation} from "@/services/api";
 import {useMainStore} from "@/services/mainStore";
 import {useSelectionStore} from "@/services/selectionStore";
 import {useMappingStore} from "@/services/mappingStore";
-import {TEST_PRESET, WZL_PRESET} from "@/services/preset-definitions/testing"
+
+import {hardcodedPresets} from "@/services/preset-definitions/hardcoded-presets"
 
 export type PresetContents = {
   virtual_views: VirtualViewCreation[],
@@ -19,9 +20,9 @@ export type PresetDefinition = {
   preset: PresetContents,
 }
 
-const initialPresets: PresetDefinition[] = [TEST_PRESET, WZL_PRESET]
+const initialPresets: PresetDefinition[] = [...hardcodedPresets]
 
-export const usePresetStore = defineStore('presetStore', () => {
+export const usePresetStore = defineStore('presets', () => {
 
   const store = useMainStore()
   const selection = useSelectionStore()