diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml
index 706e3e0a4f73918a8053842df8b1430da8bbec88..7b801938a9560f815f320ffbaecd7a77d04ca67d 100644
--- a/docker-compose.prod.yml
+++ b/docker-compose.prod.yml
@@ -28,7 +28,7 @@ services:
     image: fda-metadata-db
     networks:
       fda-public:
-        ipv4_address: 172.29.0.5
+    #    ipv4_address: 172.29.0.5
     volumes:
       - fda-metadata-db-data:/var/lib/postgresql/data
     ports:
@@ -49,7 +49,7 @@ services:
     image: fda-discovery-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.4
+    #    ipv4_address: 172.29.0.4
     environment:
       SPRING_PROFILES_ACTIVE: docker
       TZ: Europe/Vienna
@@ -69,7 +69,7 @@ services:
     image: fda-gateway-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.2
+    #    ipv4_address: 172.29.0.2
     environment:
       SPRING_PROFILES_ACTIVE: docker
       TZ: Europe/Vienna
@@ -87,9 +87,9 @@ services:
     networks:
       fda-userdb:
       fda-public:
-        ipv4_address: 172.29.0.9
+    #    ipv4_address: 172.29.0.9
     environment:
-      SPRING_PROFILES_ACTIVE: docker,seeder
+      SPRING_PROFILES_ACTIVE: docker
       TZ: Europe/Vienna
     ports:
       - "9092:9092"
@@ -109,9 +109,9 @@ services:
     image: fda-container-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.8
+    #    ipv4_address: 172.29.0.8
     environment:
-      SPRING_PROFILES_ACTIVE: docker,seeder
+      SPRING_PROFILES_ACTIVE: docker
       TZ: Europe/Vienna
     ports:
       - "9091:9091"
@@ -131,7 +131,7 @@ services:
     build: fda-authentication-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.14
+    #    ipv4_address: 172.29.0.14
     environment:
       SPRING_PROFILES_ACTIVE: docker
       TZ: Europe/Vienna
@@ -151,10 +151,10 @@ services:
     image: fda-query-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.12
+    #    ipv4_address: 172.29.0.12
       fda-userdb:
     environment:
-      SPRING_PROFILES_ACTIVE: docker,seeder
+      SPRING_PROFILES_ACTIVE: docker
       TZ: Europe/Vienna
     ports:
       - "9093:9093"
@@ -174,7 +174,7 @@ services:
     image: fda-table-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.11
+    #    ipv4_address: 172.29.0.11
       fda-userdb:
     environment:
       SPRING_PROFILES_ACTIVE: docker
@@ -199,7 +199,7 @@ services:
     image: fda-identifier-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.13
+    #    ipv4_address: 172.29.0.13
     environment:
       SPRING_PROFILES_ACTIVE: docker
       TZ: Europe/Vienna
@@ -217,7 +217,7 @@ services:
     image: fda-analyse-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.10
+    #    ipv4_address: 172.29.0.10
       fda-userdb:
     command: sh -c "/wait && flask run" # docker-compose should not test the implementation
     environment:
@@ -241,7 +241,7 @@ services:
     image: fda-units-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.7
+    #    ipv4_address: 172.29.0.7
     environment:
       EUREKA_SERVER: http://fda-discovery-service:9090/eureka/
       TZ: Europe/Vienna
@@ -266,7 +266,7 @@ services:
       TZ: Europe/Vienna
     networks:
       fda-public:
-        ipv4_address: 172.29.0.3
+    #    ipv4_address: 172.29.0.3
     ports:
       - "5672:5672"
       - "15672:15672"
@@ -286,7 +286,7 @@ services:
     command: [ "elasticsearch" ]
     networks:
       fda-public:
-        ipv4_address: 172.29.0.6
+    #    ipv4_address: 172.29.0.6
     environment:
       - discovery.type=single-node
       - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
@@ -308,7 +308,7 @@ services:
     image: fda-ui
     networks:
       fda-public:
-        ipv4_address: 172.29.0.15
+    #    ipv4_address: 172.29.0.15
     ports:
       - "443:3000"
     volumes:
@@ -325,22 +325,3 @@ services:
       TZ: Europe/Vienna
     logging:
       driver: json-file
-
-  fda-vienna-lines:
-    restart: on-failure
-    container_name: fda-vienna-lines
-    hostname: fda-vienna-lines
-    build: ./fda-vienna-lines
-    image: fda-vienna-lines
-    networks:
-      fda-public:
-        ipv4_address: 172.29.0.16
-    depends_on:
-      fda-query-service:
-        condition: service_healthy
-    environment:
-      TZ: Europe/Vienna
-      EXCHANGE: foo
-      KEY: vienna_public_transport_delays
-    logging:
-      driver: json-file
\ No newline at end of file
diff --git a/fda-ui/components/dialogs/PersistQuery.vue b/fda-ui/components/dialogs/PersistQuery.vue
index 69004470652f0f86f1241f5422b3534b5390f175..fbab09a285348b95985d9ac0c118d0d09b3d0d14 100644
--- a/fda-ui/components/dialogs/PersistQuery.vue
+++ b/fda-ui/components/dialogs/PersistQuery.vue
@@ -130,6 +130,7 @@ export default {
       }
       this.$toast.success('Query persisted.')
       this.$emit('close')
+      this.loading = false
     },
     async loadUser () {
       this.loading = true
@@ -143,6 +144,7 @@ export default {
         this.$toast.error('Failed load user data')
         console.error('load user data failed', err)
       }
+      this.loading = false
     }
   }
 }
diff --git a/fda-ui/components/query/Results.vue b/fda-ui/components/query/Results.vue
index fabd2ceb4deb5aa3e1e21299aaed3cfef1b436fd..89e399d6f22b0a7c005fcff7ba056d9ab810330f 100644
--- a/fda-ui/components/query/Results.vue
+++ b/fda-ui/components/query/Results.vue
@@ -98,6 +98,13 @@ ${this.parent.queryId ? `/${this.parent.queryId}` : ''}
         this.loading = false
       }
     },
+    buildHeaders (firstLine) {
+      return Object.keys(firstLine).map(k => ({
+        text: k,
+        value: k,
+        sortable: false
+      }))
+    },
     async execute () {
       this.loading = true
       try {
@@ -110,10 +117,9 @@ ${this.$route.params.container_id}/database/${this.$route.params.database_id}/qu
           headers: this.headers
         })
         this.loading = false
-        // Can't display headers yet
-        // this.result.headers = this.parent.select.map((s) => {
-        //   return { text: s.name, value: s.name, sortable: false }
-        // })
+        if (res.data.result.length) {
+          this.result.headers = this.buildHeaders(res.data.result[0])
+        }
         this.result.rows = res.data.result
         this.total = res.data.resultNumber
       } catch (err) {
diff --git a/fda-ui/pages/container/_container_id/database/_database_id/query/_query_id/index.vue b/fda-ui/pages/container/_container_id/database/_database_id/query/_query_id/index.vue
index 7afc1b480a94825051702d9585ad5ebaa28ed4e1..16768d2a1b6748baf92fc97dbf96bd2b0c635e8b 100644
--- a/fda-ui/pages/container/_container_id/database/_database_id/query/_query_id/index.vue
+++ b/fda-ui/pages/container/_container_id/database/_database_id/query/_query_id/index.vue
@@ -4,15 +4,15 @@
       <v-toolbar-title>{{ identifier.title }}</v-toolbar-title>
       <v-spacer />
       <v-toolbar-title>
-        <v-btn color="blue-grey white--text" class="mr-2" :disabled="!query.execution || identifier.id || !token" @click.stop="persistQueryDialog = true">
+        <v-btn color="blue-grey white--text" class="mr-2" :disabled="!query.execution || !!identifier.id || !token" @click.stop="persistQueryDialog = true">
           <v-icon left>mdi-fingerprint</v-icon> Persist
         </v-btn>
-        <v-btn color="primary" :disabled="!token" @click.stop="reExecute">
+        <v-btn v-if="false" color="primary" :disabled="!token" @click.stop="reExecute">
           <v-icon left>mdi-run</v-icon> Re-Execute
         </v-btn>
       </v-toolbar-title>
     </v-toolbar>
-    <v-card v-if="!loading" flat>
+    <v-card v-if="!loading" class="pb-2" flat>
       <v-card-title>
         Query Information
       </v-card-title>
@@ -70,7 +70,7 @@
           Username: <code v-if="query.username">{{ query.username }}</code><span v-if="!query.username">(empty)</span>
         </p>
       </v-card-text>
-      <QueryResults v-if="false" ref="queryResults" v-model="query.id" />
+      <QueryResults ref="queryResults" v-model="query.id" class="ml-2 mr-2 mt-0" />
     </v-card>
     <v-breadcrumbs :items="items" class="pa-0 mt-2" />
     <v-dialog
@@ -168,7 +168,7 @@ export default {
 
       // refresh QueryResults table
       setTimeout(() => {
-        // this.$refs.queryResults.execute()
+        this.$refs.queryResults.execute()
       }, 200)
     },
     async reExecute () {
diff --git a/fda-ui/pages/container/_container_id/database/_database_id/table/_table_id/index.vue b/fda-ui/pages/container/_container_id/database/_database_id/table/_table_id/index.vue
index 603ec7af0c0c16903893b5d004b0ee0fa21dd11b..c001970115f061c3dcf80742ea60af3827a785f6 100644
--- a/fda-ui/pages/container/_container_id/database/_database_id/table/_table_id/index.vue
+++ b/fda-ui/pages/container/_container_id/database/_database_id/table/_table_id/index.vue
@@ -13,7 +13,7 @@
         <v-btn class="mr-2" :disabled="!token" :to="`/container/${$route.params.container_id}/database/${$route.params.database_id}/table/${$route.params.table_id}/import`">
           <v-icon left>mdi-cloud-upload</v-icon> Import csv
         </v-btn>
-        <v-btn color="primary" :disabled="!token" :href="`/api/container/${$route.params.container_id}/database/${$route.params.database_id}/table/${$route.params.table_id}/data/export`" target="_blank">
+        <v-btn v-if="false" color="primary" :disabled="!token" :href="`/api/container/${$route.params.container_id}/database/${$route.params.database_id}/table/${$route.params.table_id}/data/export`" target="_blank">
           <v-icon left>mdi-download</v-icon> Download
         </v-btn>
       </v-toolbar-title>