diff --git a/.idea/libraries/Dart_Packages.xml b/.idea/libraries/Dart_Packages.xml
index 8e2d563..1503a2d 100644
--- a/.idea/libraries/Dart_Packages.xml
+++ b/.idea/libraries/Dart_Packages.xml
@@ -740,7 +740,7 @@
         <entry key="nextcloud">
           <value>
             <list>
-              <option value="$USER_HOME$/.pub-cache/git/nextcloud-neon-dc54d2f0c2b5641f3a81a7af8e585482111ce1fc/packages/nextcloud/lib" />
+              <option value="$USER_HOME$/.pub-cache/git/nextcloud-neon-9a42bdb3a0ef1e3dbd62f746fb0fe75856be66a3/packages/nextcloud/lib" />
             </list>
           </value>
         </entry>
@@ -1295,7 +1295,7 @@
     <CLASSES>
       <root url="file://$USER_HOME$/.pub-cache/git/flowder-1ddd171a763c4f1ba09b95e34e35e2e5cf0d1bba//lib" />
       <root url="file://$USER_HOME$/.pub-cache/git/nextcloud-neon-50d607e278061992659e4fdbc03a9d9fe0f04a77/packages/dynamite/dynamite_runtime/lib" />
-      <root url="file://$USER_HOME$/.pub-cache/git/nextcloud-neon-dc54d2f0c2b5641f3a81a7af8e585482111ce1fc/packages/nextcloud/lib" />
+      <root url="file://$USER_HOME$/.pub-cache/git/nextcloud-neon-9a42bdb3a0ef1e3dbd62f746fb0fe75856be66a3/packages/nextcloud/lib" />
       <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-62.0.0/lib" />
       <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/analyzer-6.0.0/lib" />
       <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/animated_digit-3.2.1/lib" />
diff --git a/lib/api/marianumcloud/webdav/queries/listFiles/listFiles.dart b/lib/api/marianumcloud/webdav/queries/listFiles/listFiles.dart
index df71a76..f9ab4da 100644
--- a/lib/api/marianumcloud/webdav/queries/listFiles/listFiles.dart
+++ b/lib/api/marianumcloud/webdav/queries/listFiles/listFiles.dart
@@ -13,7 +13,7 @@ class ListFiles extends WebdavApi<ListFilesParams> {
 
   @override
   Future<ListFilesResponse> run() async {
-    List<WebDavFile> davFiles = (await (await WebdavApi.webdav).ls(params.path)).toWebDavFiles((await WebdavApi.webdav));
+    List<WebDavFile> davFiles = (await (await WebdavApi.webdav).propfind(params.path)).toWebDavFiles();
     davFiles.removeWhere((element) => element.path == "/${params.path}/" || element.path == "/"); // somehow the current working folder is also listed, it is filtered here.
     Set<CacheableFile> files = davFiles.map((e) => CacheableFile.fromDavFile(e)).toSet();
 
diff --git a/lib/api/marianumcloud/webdav/webdavApi.dart b/lib/api/marianumcloud/webdav/webdavApi.dart
index d094b96..1e59daa 100644
--- a/lib/api/marianumcloud/webdav/webdavApi.dart
+++ b/lib/api/marianumcloud/webdav/webdavApi.dart
@@ -18,7 +18,7 @@ abstract class WebdavApi<T> extends ApiRequest {
   static Future<String> webdavConnectString = buildWebdavConnectString();
 
   static Future<WebDavClient> establishWebdavConnection() async {
-    return NextcloudClient("https://${EndpointData().nextcloud().full()}", username: AccountData().getUsername(), password: AccountData().getPassword(), loginName: AccountData().getUsername()).webdav;
+    return NextcloudClient("https://${EndpointData().nextcloud().full()}", password: AccountData().getPassword(), loginName: AccountData().getUsername()).webdav;
   }
 
   static Future<String> buildWebdavConnectString() async {
diff --git a/lib/view/pages/files/fileUploadDialog.dart b/lib/view/pages/files/fileUploadDialog.dart
index 0c217ac..5ea9464 100644
--- a/lib/view/pages/files/fileUploadDialog.dart
+++ b/lib/view/pages/files/fileUploadDialog.dart
@@ -43,8 +43,8 @@ class _FileUploadDialogState extends State<FileUploadDialog> {
       setState(() {
         state = FileUploadState.checkConflict;
       });
-      await (await WebdavApi.webdav).mkdirs(widget.remotePath.join("/"));
-      List<WebDavResponse> result = (await webdavClient.ls(widget.remotePath.join("/"))).responses;
+      await (await WebdavApi.webdav).mkcol(widget.remotePath.join("/"));
+      List<WebDavResponse> result = (await webdavClient.propfind(widget.remotePath.join("/"))).responses;
       if(result.any((element) => element.href!.endsWith("/$targetFileName"))) {
         setState(() {
           state = FileUploadState.conflict;
@@ -57,7 +57,7 @@ class _FileUploadDialogState extends State<FileUploadDialog> {
       }
     }
 
-    Future<HttpClientResponse> uploadTask = webdavClient.upload(File(widget.localPath).readAsBytesSync(), fullRemotePath);
+    Future<HttpClientResponse> uploadTask = webdavClient.putFile(File(widget.localPath), FileStat.statSync(widget.localPath), fullRemotePath); // TODO use onProgress from putFile
     uploadTask.then((value) => Future<HttpClientResponse?>.value(value)).catchError((e) {
       setState(() {
         state = FileUploadState.error;
diff --git a/lib/view/pages/files/files.dart b/lib/view/pages/files/files.dart
index b730983..16b42c0 100644
--- a/lib/view/pages/files/files.dart
+++ b/lib/view/pages/files/files.dart
@@ -189,7 +189,7 @@ class _FilesState extends State<Files> {
                           }, child: const Text("Abbrechen")),
                           TextButton(onPressed: () {
                             WebdavApi.webdav.then((webdav) {
-                              webdav.mkdirs("${widget.path.join("/")}/${inputController.text}").then((value) => _query());
+                              webdav.mkcol("${widget.path.join("/")}/${inputController.text}").then((value) => _query());
                             });
                             Navigator.of(context).pop();
                           }, child: const Text("Ordner erstellen")),
diff --git a/pubspec.yaml b/pubspec.yaml
index 29992cb..d124148 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -56,7 +56,7 @@ dependencies:
     git:
       url: https://github.com/provokateurin/nextcloud-neon
       path: packages/nextcloud
-      ref: dc54d2f0c2b5641f3a81a7af8e585482111ce1fc
+      ref: 9a42bdb3a0ef1e3dbd62f746fb0fe75856be66a3
   flutter_launcher_icons: ^0.13.1
   pretty_json: ^2.0.0
   cached_network_image: ^3.2.3