diff --git a/src/core/js/ext_map.js b/src/core/js/ext_map.js
index 0af586c43e1abf4862b0f0df31d9b565b82259dc..231515f77e677ef38f5aa66b8db2859288bde5bf 100644
--- a/src/core/js/ext_map.js
+++ b/src/core/js/ext_map.js
@@ -870,6 +870,13 @@ var caosdb_map = new function () {
         }
 
 
+        this.show_map = function () {
+            logger.trace("enter show_map");
+            $(".caosdb-f-map-panel").show(900, () => this
+                ._toggle_cb());
+        }
+
+
         /**
          * To be called after the map panel has been toggled.
          */
@@ -1676,7 +1683,7 @@ var caosdb_map = new function () {
                 // TODO refactor and extract function for map controls and
                 // merge with similar code from the select_handler.
                 var button = L.DomUtil.create("div",
-                    "leaflet-bar leaflet-control leaflet-control-custom"
+                    "leaflet-bar leaflet-control leaflet-control-custom caosdb-f-map-change-view-btn"
                 );
                 button.title = "Change the view";
                 // TODO move to css
diff --git a/src/core/js/query_shortcuts.js b/src/core/js/query_shortcuts.js
index b2304e6cb760b9e3e13bb9e330e72230dd8f6a29..af75516767b7a354562d7fdea744bc458047e500 100644
--- a/src/core/js/query_shortcuts.js
+++ b/src/core/js/query_shortcuts.js
@@ -162,17 +162,6 @@ var query_shortcuts = new function() {
             $("#caosdb-query-panel").append(shortcuts_panel);
         }
 
-        //TODO still necessary?
-        /*
-        header.find("span.caosdb-f-shortcuts-panel-header-title")
-            .prepend(toggle_button);
-
-        // initially hide panel or restore old visibility
-        if(sessionStorage[this._cache_visibility_key] !== "true") {
-            toggle_button.click();
-        }
-        */
-
         return shortcuts_panel[0];
 
     }
@@ -532,12 +521,7 @@ var query_shortcuts = new function() {
 
         // show results in query panel
         form.addEventListener("caosdb.form.success", function(e) {
-            form.addEventListener("caosdb.form.cancel", function(e) {
-                // reset shortcuts
-                query_panel.show();
-                query_shortcuts.reset();
-            }, true);
-
+            query_panel.show();
         }, true);
 
         form.addEventListener("caosdb.form.submit", function(e) {
@@ -625,7 +609,6 @@ var query_shortcuts = new function() {
         var ret = $(
             `<div class="alert alert-` + type + ` alert-dismissible" role="alert">
               <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close">
-                <span aria-hidden="true">&times;</span>
               </button>
             </div>`);
         ret.append(content);
diff --git a/src/core/js/tour.js b/src/core/js/tour.js
index c5232aae81c6ecba4d8eadc967959dd19068b2f1..b8ee39732eb0542e74ca4bced38a9203469b5aea 100644
--- a/src/core/js/tour.js
+++ b/src/core/js/tour.js
@@ -125,9 +125,11 @@ var tour = new function () {
 
             this.id = config.id || parent_set.id + "-psid-" + idx;
 
-            for (const element of config.elements) {
-                const next = tour.add_tour_element(element, this, this._elements.length);
-                this._elements.push(next);
+            if (config.elements) {
+                for (const element of config.elements) {
+                    const next = tour.add_tour_element(element, this, this._elements.length);
+                    this._elements.push(next);
+                }
             }
 
             // set some defaults
@@ -193,9 +195,9 @@ var tour = new function () {
 
             for (const element of this.elements) {
                 const next = element.create_menu_entry();
-        if (next) {
+                if (next) {
                     elements_list.append(next);
-        }
+                }
             }
             return page_set_entry;
         }
@@ -412,7 +414,7 @@ var tour = new function () {
             if (this.get_next()) {
                 if (this.config.force_manual_action){
                     nb.toggleClass("disabled", true);
-                    nb.attr("title","Manual action required!")
+                    nb.parent().attr("title","Manual action required!")
                 } else {
                     nb.on("click", (e) => {
                         const pn = this.get_next()
@@ -467,6 +469,10 @@ var tour = new function () {
                         final_target.removeEventListener(ev, call_init, true);
                     }
                     this._init(button, config);
+                    if (this.config.init["open"]) {
+                        // open immediately
+                        sessionStorage["tour-page-open-next"] = this.config.id;
+                    }
                     if (this.active && sessionStorage["tour-page-open-next"] == this.config.id) {
                         if (this.config.show_button){
                             $(this.button).show();
@@ -681,7 +687,15 @@ var tour = new function () {
             return this.popover;
         }
 
+        _before_open() {
+            if (this.config["before_open"]) {
+                const f = new Function(this.config["before_open"]);
+                f();
+            }
+        }
+
         _open() {
+            this._before_open();
             const button = $(this.button);
             const target = $(this.config["target"])
             sessionStorage["tour-page-open-cur"] = this.config.id;
@@ -1047,7 +1061,7 @@ var tour = new function () {
             }
             let popover_template = '<div class="popover" role="tooltip" style="z-index:20000; ' +
                 popover_style +
-                '"><div class="popover-arrow"></div><button class="btn btn-close caosdb-f-tour-popover-close-button caosdb-v-tour-popover-close-button"></button><h3 class="popover-header"></h3><div class="popover-body popover-content"></div><div class="p-3 pt-0" style="display:flex;"><button class="btn btn-sm btn-secondary caosdb-v-tour-pn-btn me-auto" data-role="prev">Previous</button><button class="btn btn-sm btn-secondary caosdb-v-tour-pn-btn" data-role="next">Next</button></div></div>';
+                '"><div class="popover-arrow"></div><button class="btn btn-close caosdb-f-tour-popover-close-button caosdb-v-tour-popover-close-button"></button><h3 class="popover-header"></h3><div class="popover-body popover-content"></div><div class="p-3 pt-0 d-flex justify-content-between" ><span><button class="btn btn-sm btn-secondary caosdb-v-tour-pn-btn me-auto" data-role="prev">Previous</button></span><span><button class="btn btn-sm btn-secondary caosdb-v-tour-pn-btn" data-role="next">Next</button></span></div></div>';
 
             button.attr("title", title);
 
@@ -1185,17 +1199,27 @@ var tour = new function () {
         if (element.page_set) {
             // it's a page_set
             return tour.add_tour_page_set(element, parent_set, idx);
+        } else if (typeof element.separator != "undefined") {
+            // it's a separator
+            return tour.add_tour_menu_separator();
         } else {
             // it's a page
             return tour.add_tour_page(element, parent_set, idx);
         }
     }
 
-
     this.add_tour_page_set = function (config, parent_set, idx) {
         return new tour.PageSet(parent_set, config, idx);
     }
 
+    this.add_tour_menu_separator = function (element) {
+        return {
+            create_menu_entry: () => $("<hr>")[0],
+            init_activation: function() {},
+            _deactivate: function() {},
+        }
+    }
+
     this.Tour = class {
         constructor(config) {
             this.full_name = "Tour";
diff --git a/src/core/js/webcaosdb.js b/src/core/js/webcaosdb.js
index 041a184fd08285119d17f48c5e62c662018f559f..2c65b806101265f3a0e346e86497f2c72ad56340 100644
--- a/src/core/js/webcaosdb.js
+++ b/src/core/js/webcaosdb.js
@@ -1885,8 +1885,7 @@ function initOnDocumentReady() {
 
     // show image 100% width
     $(".entity-image-preview").click(function () {
-        $(this).css('width', '100%');
-        $(this).css('max-width', "");
+        $(this).css('max-width', '100%');
         $(this).css('max-height', "");
     });