diff --git a/dbrepo-analyse-service/api/dto.py b/dbrepo-analyse-service/api/dto.py
index 319b06efa25b030e7638deca8fe6d0c72af065e6..59a387f5be4e4398dc4b60e34408189bb4f47b8e 100644
--- a/dbrepo-analyse-service/api/dto.py
+++ b/dbrepo-analyse-service/api/dto.py
@@ -44,7 +44,6 @@ class ColumnAnalysisDto(BaseModel):
     null_allowed: bool
     size: Optional[int] = None
     d: Optional[int] = None
-    dfid: Optional[int] = None
     enums: Optional[list] = None
     sets: Optional[list] = None
 
diff --git a/dbrepo-analyse-service/determine_dt.py b/dbrepo-analyse-service/determine_dt.py
index 0358929165f20d6c53ed5547525b113dc42964ba..dfc5fe17dde5460ad295616665bdd8024a8d594b 100644
--- a/dbrepo-analyse-service/determine_dt.py
+++ b/dbrepo-analyse-service/determine_dt.py
@@ -74,6 +74,8 @@ def determine_datatypes(filename, enum=False, enum_tol=0.0001, separator=',') ->
                 if pandas.to_numeric(df[name], errors='coerce').notnull().all():
                     logging.debug(f"mapped column {name} from float64 to decimal")
                     col.type = DataTypeDto.DECIMAL
+                    col.size = 40
+                    col.d = 20
                 else:
                     logging.debug(f"mapped column {name} from float64 to text")
                     col.type = DataTypeDto.TEXT
diff --git a/dbrepo-analyse-service/test/test_determine_dt.py b/dbrepo-analyse-service/test/test_determine_dt.py
index 4be9e331d699649dc943bb75b25fdb5c657c93ce..a6e032384b4256b441be05cb94fb14369e8d0baf 100644
--- a/dbrepo-analyse-service/test/test_determine_dt.py
+++ b/dbrepo-analyse-service/test/test_determine_dt.py
@@ -36,6 +36,8 @@ class DetermineDatatypesTest(unittest.TestCase):
             },
             "Wert": {
                 "type": "decimal",
+                "size": 40,
+                "d": 20,
                 "null_allowed": False,
             },
             "Status": {
@@ -81,6 +83,8 @@ class DetermineDatatypesTest(unittest.TestCase):
             },
             "Wert": {
                 "type": "decimal",
+                "size": 40,
+                "d": 20,
                 "null_allowed": False,
             },
             "Status": {
@@ -125,6 +129,8 @@ class DetermineDatatypesTest(unittest.TestCase):
             },
             "Wert": {
                 "type": "decimal",
+                "size": 40,
+                "d": 20,
                 "null_allowed": False,
             },
             "Status": {
@@ -149,6 +155,8 @@ class DetermineDatatypesTest(unittest.TestCase):
             },
             "float": {
                 "type": "decimal",
+                "size": 40,
+                "d": 20,
                 "null_allowed": False,
             },
             "string": {
diff --git a/dbrepo-ui/bun.lockb b/dbrepo-ui/bun.lockb
index 20aecae3f32b90faac1b0e97a01889f10f5c9aa7..b82e45d505fdc0e1f41e246f7d1caefe3e23007c 100755
Binary files a/dbrepo-ui/bun.lockb and b/dbrepo-ui/bun.lockb differ
diff --git a/dbrepo-ui/components/table/TableSchema.vue b/dbrepo-ui/components/table/TableSchema.vue
index 57169a95fa1af760389723064b098d079547d9f4..7fbce1b6ece69fc0da226f75ba4a9cf659c1ee70 100644
--- a/dbrepo-ui/components/table/TableSchema.vue
+++ b/dbrepo-ui/components/table/TableSchema.vue
@@ -4,6 +4,16 @@
       ref="form"
       v-model="valid"
       :disabled="disabled">
+      <v-row
+        v-if="showPrimaryKeyWarning">
+        <v-col md="8">
+          <v-alert
+            border="start"
+            color="warning">
+            {{ $t('pages.table.subpages.import.schema.primary.warn') }}
+          </v-alert>
+        </v-col>
+      </v-row>
       <v-row
         v-for="(c, idx) in columns"
         :key="`r-${idx}`"
@@ -79,7 +89,6 @@
             :min="columnType(c).size_min"
             :max="columnType(c).size_max"
             :step="columnType(c).size_step"
-            :value="columnType(c).size_required === true ? columnType(c).size_default : null"
             :hint="sizeHint(c)"
             :clearable="!columnType(c).size_required"
             persistent-hint
@@ -163,16 +172,6 @@
             @click="addColumn()" />
         </v-col>
       </v-row>
-      <v-row
-        v-if="showPrimaryKeyWarning">
-        <v-col md="8">
-          <v-alert
-            border="start"
-            color="warning">
-            {{ $t('pages.table.subpages.import.schema.primary.warn') }}
-          </v-alert>
-        </v-col>
-      </v-row>
       <v-row>
         <v-col>
           <v-btn
@@ -300,7 +299,7 @@ export default {
       this.columns.splice(idx, 1)
     },
     addColumn (name = '', type = null, null_allowed = true, primary_key = false, unique = false) {
-      this.columns.push({
+      const column = {
         name,
         type,
         null_allowed,
@@ -309,9 +308,10 @@ export default {
         sets_values: null,
         enums: [],
         enums_values: null,
-        size: 0,
         d: 0
-      })
+      }
+      column.size = this.columnType(column).size_required === true ? this.columnType(column).size_default : null
+      this.columns.push()
       this.$refs.form.validate()
     },
     formatValues (column) {
diff --git a/dbrepo-ui/locales/en-US.json b/dbrepo-ui/locales/en-US.json
index 46ab9b93a4466d78671b08dc78ef091a8c267d87..67d8d749e36151e2804ee7ee5f1e770af8799b89 100644
--- a/dbrepo-ui/locales/en-US.json
+++ b/dbrepo-ui/locales/en-US.json
@@ -370,7 +370,7 @@
             "hint": "Required. First line contains only data"
           },
           "storage": {
-            "text": "Dataset from Storage Service"
+            "text": "Uploaded Dataset"
           },
           "quote": {
             "label": "Quote Encoding",
diff --git a/dbrepo-ui/nuxt.config.ts b/dbrepo-ui/nuxt.config.ts
index be6fb2940f66b5ae026427b7a4eae964d05fa714..8b2d381fd799da7b2d7a6513dbdf51a447a84326 100644
--- a/dbrepo-ui/nuxt.config.ts
+++ b/dbrepo-ui/nuxt.config.ts
@@ -1,4 +1,5 @@
 import {transformAssetUrls} from 'vite-plugin-vuetify'
+import vuetify from 'vite-plugin-vuetify'
 
 const proxy: any = {}
 
@@ -117,7 +118,12 @@ export default defineNuxtConfig({
     '@artmizu/nuxt-prometheus',
     '@nuxtjs/i18n',
     '@pinia/nuxt',
-    '@pinia-plugin-persistedstate/nuxt'
+    '@pinia-plugin-persistedstate/nuxt',
+    async (options, nuxt) => {
+      nuxt.hooks.hook('vite:extendConfig', config => config.plugins.push(
+        vuetify()
+      ))
+    },
   ],
 
   pinia: {
diff --git a/dbrepo-ui/package.json b/dbrepo-ui/package.json
index 5af18adf4d6bd4c58e0e1e89fdf02b8937bb05b3..856f56f4f0294cbc555f7d8d0a3d2e931d45ea58 100644
--- a/dbrepo-ui/package.json
+++ b/dbrepo-ui/package.json
@@ -45,7 +45,7 @@
     "@pinia-plugin-persistedstate/nuxt": "^1.2.0",
     "@types/qs": "^6.9.12",
     "sass": "^1.71.0",
-    "vite-plugin-vuetify": "^2.0.1"
+    "vite-plugin-vuetify": "^2.0.4"
   },
   "browserslist": [
     "defaults and fully supports es6-module",
diff --git a/dbrepo-ui/pages/login.vue b/dbrepo-ui/pages/login.vue
index 9a412a0b47c4de9bf642f4a8820f41593ef0f960..8a35efe59da3aa75da3ec5f23e4800fe92ea99ef 100644
--- a/dbrepo-ui/pages/login.vue
+++ b/dbrepo-ui/pages/login.vue
@@ -137,18 +137,12 @@ export default {
             })
             .catch(({code}) => {
               const toast = useToastInstance()
-              if (typeof code !== 'string') {
-                return
-              }
               toast.error(this.$t(code))
             })
         })
         .catch(({code}) => {
           this.loading = false
           const toast = useToastInstance()
-          if (typeof code !== 'string') {
-            return
-          }
           toast.error(this.$t(code))
         })
         .finally(() => {
diff --git a/dbrepo-ui/plugins/vuetify.ts b/dbrepo-ui/plugins/vuetify.ts
index e942e529f50cbb6f7eddd9d63080a751006aaa94..39a5f8c75a34122bf997ccbe8bb9c7144d51c189 100644
--- a/dbrepo-ui/plugins/vuetify.ts
+++ b/dbrepo-ui/plugins/vuetify.ts
@@ -1,10 +1,8 @@
 // plugins/vuetify.js
 import { createVuetify, type ThemeDefinition } from 'vuetify'
 import colors from 'vuetify/util/colors'
-import * as components from 'vuetify/components'
 import * as directives from 'vuetify/directives'
 import '@mdi/font/css/materialdesignicons.css'
-import {rgbParse} from "@kurkle/color";
 
 const tuwThemeLight: ThemeDefinition = {
   dark: false,
@@ -77,7 +75,6 @@ const tuwThemeDarkContrast: ThemeDefinition = {
 export default defineNuxtPlugin(app => {
   const vuetify : any = createVuetify({
     ssr: true,
-    components,
     directives,
     defaults: {
       VSelect: {
diff --git a/dbrepo-ui/utils/index.ts b/dbrepo-ui/utils/index.ts
index 95380474e1ad2608c2862ec3414eca0d8d7f7a67..4f30d8953405445c152dee0b6afd4dc6b44cba3a 100644
--- a/dbrepo-ui/utils/index.ts
+++ b/dbrepo-ui/utils/index.ts
@@ -1056,17 +1056,9 @@ export function axiosErrorToApiError(error: AxiosError): ApiErrorDto {
       message: error.message
     }
     return errorObj
-  } else if (error.code === 'ERR_BAD_REQUEST') {
-    /* timeout */
-    const errorObj: ApiErrorDto = {
-      status: error.code,
-      code: 'error.axios.malformed',
-      message: error.message
-    }
-    return errorObj
   }
-  if (error.response?.data) {
-    const errorObj: ApiErrorDto = (error.response?.data as ApiErrorDto)
+  if ('data' in error.response) {
+    const errorObj: ApiErrorDto = (error.response.data as ApiErrorDto)
     return errorObj
   }
   const errorObj: ApiErrorDto = {