diff --git a/packages/file-handling/src/nextcloud-file-picker.js b/packages/file-handling/src/nextcloud-file-picker.js
index 00f6e647d83cbd7cc622202e42254c980df9c5e5..40a76cb21c8dfde2a4b7fb13d039bbe9798fbdda 100644
--- a/packages/file-handling/src/nextcloud-file-picker.js
+++ b/packages/file-handling/src/nextcloud-file-picker.js
@@ -71,6 +71,9 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
         this.boundCloseBreadcrumbMenuHandler = this.hideBreadcrumbMenu.bind(this);
         this.initateOpenBreadcrumbMenu = false;
 
+        this.boundClickOutsideNewFolderHandler = this.cancelNewFolderCreation.bind(this);
+        this.initateOpenNewFolder = false;
+
         this.disableRowClick = false;
     }
 
@@ -180,6 +183,9 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
                 responsiveLayout: "collapse",
                 responsiveLayoutCollapseStartOpen: false,
                 resizableColumns: false,
+                // autoResize: true, //TODO
+                // virtualDomBuffer: 1000, //TODO
+                // reactiveData: true, //TODO
                 columns: [
                     {
                         width: 32,
@@ -290,7 +296,7 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
                     }
                 },
                 rowSelectionChanged: (data, rows) => {
-                    if (!this.disableRowClick) {
+                    if (!this.disableRowClick) { //TODO delete condition? - should not be able to select things
                         if (data.length > 0 && this.directoriesOnly) {
                             this.folderIsSelected = i18n.t('nextcloud-file-picker.load-to-folder');
                         } else {
@@ -335,11 +341,11 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
                         } else {
                             row.deselect();
                         }
-                    } else {
-                        // TODO
+                    } else { // TODO
                         console.log('reached');
                         if (this._('#tf-new-folder')) {
                             this._('#tf-new-folder').focus();
+                            // this._('#tf-new-folder').select();
                         }
                     }
                 },
@@ -352,8 +358,11 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
                      }*/
                 },
                 rowAdded: (row) => {
-                    if (that._('#new-folder-row')) { //TODO find a better condition
+                    console.log('row added');
+                    if (!this.disableRowClick) { //TODO find a better condition-name
                         row.getElement().classList.toggle("addRowAnimation");
+                    } else {
+                        console.log('in new folder row');
                     }
                 },
                 dataLoaded: () => {
@@ -396,8 +405,6 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
             //         that.addFolder();
             //     }
             // });
-
-            
         });
     }
 
@@ -683,7 +690,7 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
         this.isInRecent = false;
         this.isInFilteredRecent = false;
         this.isInFavorites = true;
-                    
+        
         if (this.webDavClient === null) {
             // client is broken reload try to reset & reconnect
             this.tabulatorTable.clearData();
@@ -1238,7 +1245,6 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
         this.dispatchEvent(event);
     }
 
-
     /**
      * Upload Files to a directory
      *
@@ -1638,9 +1644,10 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
 
     addOpenFolderTableEntry() {
         const i18n = this._i18n;
-        if (this._('.addRowAnimation')) {
+        if (this._('.addRowAnimation')) { //TODO verify
             this._('.addRowAnimation').classList.remove('addRowAnimation');
         }
+        this.disableRowClick = true;
 
         let props = {permissions: 'RGDNVCK'};
         var row = {
@@ -1649,52 +1656,129 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
             basename: "",
             props: props
         };
-        this.tabulatorTable.addRow(row, 1, 1);
+        
+        var data = this.tabulatorTable.getData();
+        console.log('1', data);
+        
+        const that = this;
+        
+        // this.tabulatorTable.addData(row, true); //this
+        this.tabulatorTable.addRow(row, true, 1).then(() => {
 
-        // row id
-        this._('#directory-content-table').querySelector("div.tabulator-tableHolder > div.tabulator-table > div.tabulator-row:nth-child(1)").setAttribute('id', 'new-folder-row');
+            // setTimeout(function(){
+            //     that.tabulatorTable.redraw(true);
+            // }, 0);
 
-        this._('#new-folder-row').setAttribute('style', 'background: #259207; color: white');
-        this._('#new-folder-row').querySelector("div.tabulator-cell:nth-child(1) > div > span.tabulator-responsive-collapse-toggle-open").classList.add('new-folder-selected');
-        this._('#new-folder-row').querySelector("div.tabulator-cell:nth-child(1) > div > span.tabulator-responsive-collapse-toggle-close").classList.add('new-folder-selected');
+            that._('#directory-content-table').querySelector("div.tabulator-tableHolder > div.tabulator-table > div.tabulator-row:nth-child(1)").setAttribute('id', 'new-folder-row');
+            that._('#new-folder-row').classList.toggle('highlighted');
 
-        this._('#new-folder-row').querySelector("div.tabulator-cell:nth-child(6)").innerText = '';
-        this._('#new-folder-row').querySelector("div.tabulator-cell:nth-child(3)").setAttribute('id', 'new-folder-cell');
+            that._('#new-folder-row').querySelector("div.tabulator-cell:nth-child(1) > div > span.tabulator-responsive-collapse-toggle-open").classList.add('new-folder-selected');
+            that._('#new-folder-row').querySelector("div.tabulator-cell:nth-child(1) > div > span.tabulator-responsive-collapse-toggle-close").classList.add('new-folder-selected');
+            that._('#new-folder-row').querySelector("div.tabulator-cell:nth-child(6)").innerText = '';
 
-        // add text input field
-        this._('#new-folder-cell').innerHTML = '<input type="text" class="input" name="tf-new-folder" id ="tf-new-folder" value="" placeholder="'+ i18n.t('nextcloud-file-picker.new-folder-placeholder') + '" />';
+            that._('#new-folder-row').querySelector("div.tabulator-cell:nth-child(3)").setAttribute('id', 'new-folder-cell');
 
-        // add event listener for pressing enter to save new folder with given name
-        this._('#tf-new-folder').addEventListener("keyup", ({key}) => {
-            if (key === "Enter") {
-                console.log('enter pressed');
-                this.addNewFolder();
-            }
-        })
+            // add text input field
+            that._('#new-folder-cell').innerHTML = '<input type="text" class="input" name="tf-new-folder" id ="tf-new-folder" value="'+ i18n.t('nextcloud-file-picker.new-folder-placeholder') +'" placeholder="'+ i18n.t('nextcloud-file-picker.new-folder-placeholder') + '" />';
 
-        this._('#tf-new-folder').addEventListener("keyup", ({key}) => {
-            if (key === "Escape") {
-                console.log('ESC pressed');
-                // TODO abbrechen
-            }
-        })
+            that._('#tf-new-folder').addEventListener("keydown", ({key}) => {
+                if (key === "Enter") {
+                    console.log('ENTER pressed');
+                    that.addNewFolder();
+                }
+            })
 
-        this._('#tf-new-folder').addEventListener("click", ({key}) => {
-            //TODO add click rules
-        })
+            that._('#tf-new-folder').addEventListener("keydown", ({key}) => {
+                if (key === "Escape") {
+                    console.log('ESC pressed');
+                    that.cancelNewFolderCreation();
+                }
+            })
 
+            that._('#tf-new-folder').addEventListener("click", (event) => {
+                // console.log('clicked inside', event);
+                that._('#tf-new-folder').select();
+                event.stopPropagation();
+            })
 
-        // during folder creation it should not be possible to click something
-        this.disableRowClick = true;
+            that.initateOpenNewFolder = true;
+        
+        }).catch((error) => {
+            console.log('error', error);
+        });
 
-        // disable selection of rows during folder creation
-        this.tabulatorTable.getRows().forEach((row) => {
-            row.getElement().classList.add("no-select");
-            row.getElement().classList.remove("tabulator-selectable");
-        })
+        var data2 = this.tabulatorTable.getData();
+        console.log('2', data2);
+
+        // row id
+        // this._('#directory-content-table').querySelector("div.tabulator-tableHolder > div.tabulator-table > div.tabulator-row:nth-child(1)").setAttribute('id', 'new-folder-row');
+
+        // this._('#new-folder-row').setAttribute('style', 'background: #259207; color: white');
+        // this._('#new-folder-row').querySelector("div.tabulator-cell:nth-child(1) > div > span.tabulator-responsive-collapse-toggle-open").classList.add('new-folder-selected');
+        // this._('#new-folder-row').querySelector("div.tabulator-cell:nth-child(1) > div > span.tabulator-responsive-collapse-toggle-close").classList.add('new-folder-selected');
+
+        // this._('#new-folder-row').querySelector("div.tabulator-cell:nth-child(6)").innerText = '';
+        // this._('#new-folder-row').querySelector("div.tabulator-cell:nth-child(3)").setAttribute('id', 'new-folder-cell');
+
+        // // add text input field
+        // this._('#new-folder-cell').innerHTML = '<input type="text" class="input" name="tf-new-folder" id ="tf-new-folder" value="'+ i18n.t('nextcloud-file-picker.new-folder-placeholder') +'" placeholder="'+ i18n.t('nextcloud-file-picker.new-folder-placeholder') + '" />';
+
+        // this._('#tf-new-folder').addEventListener("keydown", ({key}) => {
+        //     if (key === "Enter") {
+        //         console.log('ENTER pressed');
+        //         this.addNewFolder();
+        //     }
+        // })
+
+        // this._('#tf-new-folder').addEventListener("keydown", ({key}) => {
+        //     if (key === "Escape") {
+        //         console.log('ESC pressed');
+        //         this.cancelNewFolderCreation();
+        //     }
+        // })
+
+        // this._('#tf-new-folder').addEventListener("click", (event) => {
+        //     console.log('clicked inside', event);
+        //     //TODO do we need to set focus?
+        //     this._('#tf-new-folder').select();
+        //     event.stopPropagation();
+        // })
+
+        // document.addEventListener('click', this.boundClickOutsideNewFolderHandler);
+        // this.initateOpenNewFolder = true;
+
+        // // during folder creation it should not be possible to click something
+        document.addEventListener('click', this.boundClickOutsideNewFolderHandler);
+       
+        // // disable selection of rows during folder creation
+        // this.tabulatorTable.getRows().forEach((row) => {
+        //     row.getElement().classList.add("no-select");
+        //     row.getElement().classList.remove("tabulator-selectable");
+        // })
 
         // set focus to text field
         // this._('#tf-new-folder').focus();
+        // this._('#tf-new-folder').select();
+    }
+
+    cancelNewFolderCreation() {
+        
+        if (this.initateOpenNewFolder) {
+            this.initateOpenNewFolder = false;
+            return;
+        }
+
+        console.log('canceled folder creation');
+
+        this._('#new-folder-row').classList.toggle('highlighted');
+        
+        var row = this.tabulatorTable.getRowFromPosition(0);
+        if (row) {
+            row.delete();
+        }
+
+        this.disableRowClick = false;
+        document.removeEventListener('click', this.boundClickOutsideNewFolderHandler);
     }
 
     addNewFolder() {
@@ -1704,8 +1788,11 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
             if (typeof this.directoryPath === 'undefined') {
                 this.directoryPath = '';
             }
+            this.cancelNewFolderCreation();
+
             let folderPath = this.directoryPath + "/" + folderName;
             this.webDavClient.createDirectory(folderPath).then(contents => {
+
                 const d = new Date();
                 let props = {permissions: 'RGDNVCK'};
                 this.tabulatorTable.addRow({
@@ -1730,24 +1817,18 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
                 }  
             })
             .finally(() => { // folder should be created now - delete default entry
-                // this.tabulatorTable.deleteRow(row);
-                var row = this.tabulatorTable.getRowFromPosition(1);
-                row.delete();
-                // console.log(this.tabulatorTable.getData());
-                this.disableRowClick = false;
-
-          
-                this.tabulatorTable.getRows().forEach((row) => {
-                    let data = row.getData();
-                    if (!this.checkFileType(data, this.allowedMimeTypes)) {   
-                        row.getElement().classList.remove("no-select");
-                        row.getElement().classList.add("tabulator-selectable");
-                    }
-                    if (!(this.directoriesOnly && typeof data.mime !== 'undefined')) {
-                        row.getElement().classList.remove("no-select");
-                        row.getElement().classList.add("tabulator-selectable");
-                    }
-                })
+      
+                // this.tabulatorTable.getRows().forEach((row) => {
+                //     let data = row.getData();
+                //     if (!this.checkFileType(data, this.allowedMimeTypes)) {   
+                //         row.getElement().classList.remove("no-select");
+                //         row.getElement().classList.add("tabulator-selectable");
+                //     }
+                //     if (!(this.directoriesOnly && typeof data.mime !== 'undefined')) {
+                //         row.getElement().classList.remove("no-select");
+                //         row.getElement().classList.add("tabulator-selectable");
+                //     }
+                // })
             });
         }
     }
@@ -1858,17 +1939,17 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
         }}" title="${i18n.t('nextcloud-file-picker.folder-home')}"><dbp-icon name="home"></dbp-icon> </a></span>`;
         
         if (this.isInFavorites) {
-            htmlpath[1] = html`<span> › </span><span class="breadcrumb special"><a @click="${() => {
+            htmlpath[1] = html`<span class="first"> › </span><span class="breadcrumb special"><a @click="${() => {
                 this.loadFavorites();
             }}" title="${i18n.t('nextcloud-file-picker.favorites-title')}">${i18n.t('nextcloud-file-picker.favorites-title')}</a></span>`;
 
         } else if (this.isInRecent) {
-            htmlpath[1] = html`<span> › </span><span class="breadcrumb special"><a @click="${() => {
+            htmlpath[1] = html`<span class="first"> › </span><span class="breadcrumb special"><a @click="${() => {
                 this.loadAllRecentFiles();
             }}" title="${i18n.t('nextcloud-file-picker.recent-files-title')}">${i18n.t('nextcloud-file-picker.recent-files-title')}</a></span>`;
 
         } else if (this.isInFilteredRecent) { 
-            htmlpath[1] = html`<span> › </span><span class="breadcrumb special"><a @click="${() => {
+            htmlpath[1] = html`<span class="first"> › </span><span class="breadcrumb special"><a @click="${() => {
                 this.loadMyRecentFiles();
             }}" title="${i18n.t('nextcloud-file-picker.my-recent-files-title')}">${i18n.t('nextcloud-file-picker.my-recent-files-title')}</a></span>`;
 
@@ -1885,9 +1966,15 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
                     path += directories[j];
                 }
 
-                htmlpath[i] = html`<span> › </span><span class="breadcrumb"><a @click="${() => {
-                    this.loadDirectory(path);
-                }}" title="${i18n.t('nextcloud-file-picker.load-path-link', {path: directories[i]})}">${directories[i]}</a></span>`;
+                if (i === 1) {
+                    htmlpath[i] = html`<span class="first"> › </span><span class="breadcrumb"><a @click="${() => {
+                        this.loadDirectory(path);
+                    }}" title="${i18n.t('nextcloud-file-picker.load-path-link', {path: directories[i]})}">${directories[i]}</a></span>`;
+                } else {
+                    htmlpath[i] = html`<span> › </span><span class="breadcrumb"><a @click="${() => {
+                        this.loadDirectory(path);
+                    }}" title="${i18n.t('nextcloud-file-picker.load-path-link', {path: directories[i]})}">${directories[i]}</a></span>`;
+                }                
             }
             
             let length = htmlpath.length;
@@ -1916,8 +2003,8 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
                 let shortcrumb = [];
 
                 shortcrumb[0] = htmlpath[0];
-                shortcrumb[1] = html`<span> › </span>
-                    <span class="breadcrumb"><a class="extended-breadcrumb-link" @click="${() => { this.toggleBreadcrumbMenu(); }}" title="TODO">. . .</a><div class="breadcrumb-menu"><ul class='extended-breadcrumb-menu hidden'>${path_temp}</ul></div></span>`;
+                shortcrumb[1] = html`<span class="first"> › </span>
+                    <span class="breadcrumb"><a class="extended-breadcrumb-link" @click="${() => { this.toggleBreadcrumbMenu(); }}">. . .</a><div class="breadcrumb-menu"><ul class='extended-breadcrumb-menu hidden'>${path_temp}</ul></div></span>`;
                     
                 shortcrumb[2] = htmlpath[length - 1];
                 
@@ -2038,6 +2125,25 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
             ${commonStyles.getRadioAndCheckboxCss()}
             ${fileHandlingStyles.getFileHandlingCss()}
 
+            #new-folder-row.highlighted {
+                background: #259207; 
+                color: white;
+            }
+
+            span.first {
+                margin-left: -6px;
+            }
+
+            a.home-link {
+                padding-left: 6px;
+                padding-right: 6px;
+                margin-left: -6px;
+            }
+
+            .extended-menu-link {
+                padding: 7px;
+            }
+
             .breadcrumb.special a {
                 overflow: visible;
             }
@@ -2058,8 +2164,7 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
             }
 
             .nextcloud-header {
-                /** padding-bottom: 40px; 10px**/
-                /** height: 33px; TODO nur mobil! **/
+                padding-bottom: 7px;
             }
 
             .breadcrumb-menu {
@@ -2305,7 +2410,7 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
             .additional-menu {
                 white-space: nowrap;
                 height: 33px;
-                margin-right: -8px
+                margin-right: -12px; /*-15px; -8px*/
             }
 
             .nextcloud-nav p {
@@ -2556,6 +2661,7 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
                 height: 22.4px;
                 /*top: 4px;*/
                 width: 19px;
+                margin-top: 4px;
             }
 
             .nextcloud-nav a.home-link {
@@ -2566,12 +2672,20 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
             and (orientation: portrait)
             and (max-width: 768px) {
 
+                .nextcloud-header {
+                    padding-bottom: 0px;
+                }
+
+                .extended-breadcrumb-link {
+                    margin-top: -2px; /*TODO verify*/
+                }
+
                 .extended-menu {
                     top: 0px;
                 }
 
                 .breadcrumb .extended-breadcrumb-menu a {
-                    /** overflow: visible; **/
+                    /* overflow: visible; */
                     display: inherit;
                 }