diff --git a/Sources/SSHCreateKey/SSHCreateKey.swift b/Sources/SSHCreateKey/SSHCreateKey.swift
index 4f78a59ab1fd538c6355450e6a385a41cddb2a0b..009702d1ea704e8e65432f511dfbab34053ac4db 100644
--- a/Sources/SSHCreateKey/SSHCreateKey.swift
+++ b/Sources/SSHCreateKey/SSHCreateKey.swift
@@ -9,8 +9,8 @@ public final class SSHCreateKey {
     var sharedsshkeypathandidentityfile: String?
     
     public var createkeycommand = "/usr/bin/ssh-keygen"
-
     public var rsaStringPath: String?
+    
     // Arrays listing all key files
     public var keyFileStrings: [String]? {
         let fm = FileManager.default
@@ -47,9 +47,10 @@ public final class SSHCreateKey {
                 // If anything goes wrong set to default global values
                 return userHomeDirectoryPath + "/.ssh" + "/" + (identityfile ?? "")
             }
-        } else {
-            return (userHomeDirectoryPath ?? "") + "/.ssh" + "/" + (identityfile ?? "")
+        } else if let userHomeDirectoryPath {
+            return userHomeDirectoryPath  + "/.ssh" + "/" + (identityfile ?? "")
         }
+        return nil
     }
 
     // SSH identityfile with full keypath if NOT default is used
@@ -96,9 +97,10 @@ public final class SSHCreateKey {
                 // If anything goes wrong set to default global values
                 return userHomeDirectoryPath + "/.ssh"
             }
-        } else {
-            return (userHomeDirectoryPath ?? "") + "/.ssh"
+        } else if let userHomeDirectoryPath {
+            return userHomeDirectoryPath + "/.ssh"
         }
+        return nil
     }
 
     public var userHomeDirectoryPath: String? {
diff --git a/Tests/SSHCreateKeyTests/ArgumentsCreatSSHKeys.swift b/Tests/SSHCreateKeyTests/ArgumentsCreatSSHKeys.swift
index 7aa62216939289aa2c183710a85295bd78da4074..cca077ba004bec73be76dd8eee64541b6230e133 100644
--- a/Tests/SSHCreateKeyTests/ArgumentsCreatSSHKeys.swift
+++ b/Tests/SSHCreateKeyTests/ArgumentsCreatSSHKeys.swift
@@ -9,10 +9,14 @@ import Foundation
 
 struct ArgumentsCreatSSHKeys {
     let keypathglobal = "/Users/thomas/.ssh_global"
+    let defaultkeypath = "/Users/thomas/.ssh"
     let identityfileglobl = "global"
+    let defaultidentityfileglobl = "id_rsa"
     let userHomeDirectoryPathglobal = "/Users/thomas"
     let sshkeypathandidentityfileglobal = "/Users/thomas/.ssh_global/global"
+    let defaultsshkeypathandidentityfile = "/Users/thomas/.ssh/id_rsa"
     let argumentssshcopyidglobal = "/usr/bin/ssh-copy-id -i ~/.ssh_global/global -p 2222 thomas@raspberrypi"
+    let defaultargumentssshcopyid = "/usr/bin/ssh-copy-id -i ~/.ssh_global/global -p 2222 thomas@raspberrypi"
 
     let keypathdefault = "/Users/thomas/.ssh"
     let identityfiledefault = "id_rsa"
@@ -20,12 +24,10 @@ struct ArgumentsCreatSSHKeys {
     let sshkeypathandidentityfiledefault = "/Users/thomas/.ssh/id_rsa"
     let argumentssshcopyiddefault = "/usr/bin/ssh-copy-id -i /Users/thomas/.ssh/id_rsa thomas@raspberrypi"
     
-    
-    let URLfilelocal: URL? = URL(fileURLWithPath: "/Users/thomas/.ssh/")
-    let sshcreatelocal = ["-t", "rsa", "-N", "", "-f", "/Users/thomas/.ssh/id_rsa"]
-    
-    
     let URLfileglobal = URL(fileURLWithPath:"/Users/thomas/.ssh_global")
+    let defaultURLfile = URL(fileURLWithPath:"/Users/thomas/.ssh/")
+    
     let sshcreateglobal = ["-t", "rsa", "-N", "", "-f", "/Users/thomas/.ssh_global/global"]
+    let defaultsshcreate = ["-t", "rsa", "-N", "", "-f", "/Users/thomas/.ssh/id_rsa"]
 
 }
diff --git a/Tests/SSHCreateKeyTests/DecodeTestdata.swift b/Tests/SSHCreateKeyTests/DecodeTestdata.swift
index 2e2abb0340213a27f3d760066d9ede7176ed97c9..1190124243d440f293b0b116549284e9002e90e4 100644
--- a/Tests/SSHCreateKeyTests/DecodeTestdata.swift
+++ b/Tests/SSHCreateKeyTests/DecodeTestdata.swift
@@ -24,8 +24,6 @@ struct DecodeTestdata: Codable {
     let parameter2: String?
     let parameter3: String?
     let parameter4: String?
-    let parameter5: String?
-    let parameter6: String?
     let parameter8: String?
     let parameter9: String?
     let rsyncdaemon: Int?
@@ -53,8 +51,6 @@ struct DecodeTestdata: Codable {
         case parameter2
         case parameter3
         case parameter4
-        case parameter5
-        case parameter6
         case parameter8
         case parameter9
         case rsyncdaemon
@@ -84,8 +80,6 @@ struct DecodeTestdata: Codable {
         parameter2 = try values.decodeIfPresent(String.self, forKey: .parameter2)
         parameter3 = try values.decodeIfPresent(String.self, forKey: .parameter3)
         parameter4 = try values.decodeIfPresent(String.self, forKey: .parameter4)
-        parameter5 = try values.decodeIfPresent(String.self, forKey: .parameter5)
-        parameter6 = try values.decodeIfPresent(String.self, forKey: .parameter6)
         parameter8 = try values.decodeIfPresent(String.self, forKey: .parameter8)
         parameter9 = try values.decodeIfPresent(String.self, forKey: .parameter9)
         rsyncdaemon = try values.decodeIfPresent(Int.self, forKey: .rsyncdaemon)
diff --git a/Tests/SSHCreateKeyTests/ReadTestdataFromGitHub.swift b/Tests/SSHCreateKeyTests/ReadTestdataFromGitHub.swift
index b53097fa7f23c8d040af8fead3a7048325b28bc3..d62cdf102372aa34103638526ba2b89ce97ff664 100644
--- a/Tests/SSHCreateKeyTests/ReadTestdataFromGitHub.swift
+++ b/Tests/SSHCreateKeyTests/ReadTestdataFromGitHub.swift
@@ -10,6 +10,7 @@ import Foundation
 final class ReadTestdataFromGitHub {
     var testconfigurations = [TestSynchronizeConfiguration]()
     private var urlJSONuiconfig: String = "https://raw.githubusercontent.com/rsyncOSX/RsyncArguments/master/Testdata/rsyncuiconfig.json"
+    private var urlJSONuiconfignossh: String = "https://raw.githubusercontent.com/rsyncOSX/RsyncArguments/master/Testdata/rsyncuiconfignossh.json"
     private var urlJSON: String = "https://raw.githubusercontent.com/rsyncOSX/RsyncArguments/master/Testdata/configurations.json"
 
     func getdata() async {
@@ -17,7 +18,8 @@ final class ReadTestdataFromGitHub {
         // Load user configuration
         do {
             if let userconfig = try await
-                testdata.loadanddecodestringdata(DecodeTestUserConfiguration.self, fromwhere: urlJSONuiconfig) {
+                testdata.loadanddecodestringdata(DecodeTestUserConfiguration.self, fromwhere: urlJSONuiconfig)
+            {
                 await TestUserConfiguration(userconfig)
                 print("ReadTestdataFromGitHub: loading userconfiguration COMPLETED)")
             }
@@ -40,4 +42,34 @@ final class ReadTestdataFromGitHub {
             print("ReadTestdataFromGitHub: loading data FAILED)")
         }
     }
+
+    func getdatanossh() async {
+        let testdata = TestdataFromGitHub()
+        // Load user configuration
+        do {
+            if let userconfig = try await
+                testdata.loadanddecodestringdata(DecodeTestUserConfiguration.self, fromwhere: urlJSONuiconfignossh)
+            {
+                await TestUserConfiguration(userconfig)
+                print("ReadTestdataFromGitHub: loading userconfiguration NOSSH COMPLETED)")
+            }
+
+        } catch {
+            print("ReadTestdataFromGitHub: loading userconfiguration FAILED)")
+        }
+        // Load data
+        do {
+            if let testdata = try await testdata.loadanddecodearraydata(DecodeTestdata.self, fromwhere: urlJSON) {
+                testconfigurations.removeAll()
+                for i in 0 ..< testdata.count {
+                    var configuration = TestSynchronizeConfiguration(testdata[i])
+                    configuration.profile = "test"
+                    testconfigurations.append(configuration)
+                }
+                print("ReadTestdataFromGitHub: loading data COMPLETED)")
+            }
+        } catch {
+            print("ReadTestdataFromGitHub: loading data FAILED)")
+        }
+    }
 }
diff --git a/Tests/SSHCreateKeyTests/SSHCreateKeyTests.swift b/Tests/SSHCreateKeyTests/SSHCreateKeyTests.swift
index 6a049d76f2695af1fd1de26b61e9bc9d16ea1efe..6674b71a39819970d72829d3a3e559613457a549 100644
--- a/Tests/SSHCreateKeyTests/SSHCreateKeyTests.swift
+++ b/Tests/SSHCreateKeyTests/SSHCreateKeyTests.swift
@@ -69,8 +69,84 @@ import Foundation
                                               sharedsshkeypathandidentityfile: identityfile)
 
         let sshrootpath = await sshcreatekey.testcreatesshkeyrootpath()
-        #expect(ArgumentsCreatSSHKeys().URLfilelocal == sshrootpath)
+        #expect(ArgumentsCreatSSHKeys().defaultURLfile == sshrootpath)
         let arguments = await sshcreatekey.argumentscreatekey()
-        #expect(ArgumentsCreatSSHKeys().sshcreatelocal == arguments)
+        #expect(ArgumentsCreatSSHKeys().defaultsshcreate == arguments)
     }
 }
+
+@Suite final class TestCreateSSHkeysNOSSH {
+    var testconfigurations: [TestSynchronizeConfiguration]?
+
+    @Test func LodaDataCreateSSHKeys() async {
+        let loadtestdata = ReadTestdataFromGitHub()
+        await loadtestdata.getdatanossh()
+        
+        testconfigurations = loadtestdata.testconfigurations
+
+        let sshcreatekey = await SSHCreateKey(sharedsshport: String(TestSharedReference.shared.sshport ?? -1),
+                                              sharedsshkeypathandidentityfile: TestSharedReference.shared.sshkeypathandidentityfile)
+        let arg3 = await sshcreatekey.keypathonly
+        #expect(ArgumentsCreatSSHKeys().defaultkeypath == arg3)
+        let arg4 = await sshcreatekey.identityfile
+        #expect(ArgumentsCreatSSHKeys().defaultidentityfileglobl == arg4)
+        let arg5 = await sshcreatekey.userHomeDirectoryPath
+        #expect(ArgumentsCreatSSHKeys().userHomeDirectoryPathglobal == arg5)
+        let arg6 = await sshcreatekey.sshkeypathandidentityfile
+        #expect(ArgumentsCreatSSHKeys().defaultsshkeypathandidentityfile == arg6)
+        let arg7 = await sshcreatekey.argumentssshcopyid(offsiteServer: "raspberrypi", offsiteUsername: "thomas")
+        #expect(ArgumentsCreatSSHKeys().argumentssshcopyiddefault == arg7)
+    }
+
+    @Test func LodaDataCreateSSHKeysdefault() async {
+        let loadtestdata = ReadTestdataFromGitHub()
+        await loadtestdata.getdatanossh()
+        
+        testconfigurations = loadtestdata.testconfigurations
+
+        // Sett Shareddata to nil or default values
+        let port = -1
+        let identityfile: String? = nil
+        let sshcreatekey = await SSHCreateKey(sharedsshport: String(port),
+                                              sharedsshkeypathandidentityfile: identityfile)
+        let arg3 = await sshcreatekey.keypathonly
+        #expect(ArgumentsCreatSSHKeys().keypathdefault == arg3)
+        let arg4 = await sshcreatekey.identityfile
+        #expect(ArgumentsCreatSSHKeys().identityfiledefault == arg4)
+        let arg5 = await sshcreatekey.userHomeDirectoryPath
+        #expect(ArgumentsCreatSSHKeys().userHomeDirectoryPathdefault == arg5)
+        let arg6 = await sshcreatekey.sshkeypathandidentityfile
+        #expect(ArgumentsCreatSSHKeys().sshkeypathandidentityfiledefault == arg6)
+        let arg7 = await sshcreatekey.argumentssshcopyid(offsiteServer: "raspberrypi", offsiteUsername: "thomas")
+        #expect(ArgumentsCreatSSHKeys().argumentssshcopyiddefault == arg7)
+    }
+
+    @Test func createkeys() async {
+        let loadtestdata = ReadTestdataFromGitHub()
+        await loadtestdata.getdatanossh()
+    
+        let sshcreatekey = await SSHCreateKey(sharedsshport: String(TestSharedReference.shared.sshport ?? -1),
+                                              sharedsshkeypathandidentityfile: TestSharedReference.shared.sshkeypathandidentityfile)
+        // If new keypath is set create it
+        let sshrootpath = await sshcreatekey.testcreatesshkeyrootpath()
+        #expect(ArgumentsCreatSSHKeys().defaultURLfile == sshrootpath)
+        // Create keys
+        let arguments = await sshcreatekey.argumentscreatekey()
+        #expect(ArgumentsCreatSSHKeys().defaultsshcreate == arguments)
+    }
+
+    @Test func createkeysdefault() async {
+    
+        let port = -1
+        let identityfile: String? = nil
+
+        let sshcreatekey = await SSHCreateKey(sharedsshport: String(port),
+                                              sharedsshkeypathandidentityfile: identityfile)
+
+        let sshrootpath = await sshcreatekey.testcreatesshkeyrootpath()
+        #expect(ArgumentsCreatSSHKeys().defaultURLfile == sshrootpath)
+        let arguments = await sshcreatekey.argumentscreatekey()
+        #expect(ArgumentsCreatSSHKeys().defaultsshcreate == arguments)
+    }
+}
+
diff --git a/Tests/SSHCreateKeyTests/TestSynchronizeConfiguration.swift b/Tests/SSHCreateKeyTests/TestSynchronizeConfiguration.swift
index 9ef8a49b00e0d4ba6597d9f209bed62dc9e7f0ed..8a72822da05fb5f8bfdb5ee9326924112be0978b 100644
--- a/Tests/SSHCreateKeyTests/TestSynchronizeConfiguration.swift
+++ b/Tests/SSHCreateKeyTests/TestSynchronizeConfiguration.swift
@@ -18,8 +18,6 @@ struct TestSynchronizeConfiguration: Identifiable, Codable {
     var parameter2: String
     var parameter3: String
     var parameter4: String
-    var parameter5: String
-    var parameter6: String
     var offsiteServer: String
     var backupID: String
     var dateRun: String?
@@ -60,8 +58,6 @@ struct TestSynchronizeConfiguration: Identifiable, Codable {
         parameter2 = data.parameter2 ?? ""
         parameter3 = data.parameter3 ?? ""
         parameter4 = data.parameter4 ?? ""
-        parameter5 = data.parameter5 ?? ""
-        parameter6 = data.parameter6 ?? ""
         parameter8 = data.parameter8
         parameter9 = data.parameter9
         rsyncdaemon = data.rsyncdaemon
@@ -91,8 +87,6 @@ extension TestSynchronizeConfiguration: Hashable, Equatable {
             lhs.parameter2 == rhs.parameter2 &&
             lhs.parameter3 == rhs.parameter3 &&
             lhs.parameter4 == rhs.parameter4 &&
-            lhs.parameter5 == rhs.parameter5 &&
-            lhs.parameter6 == rhs.parameter6 &&
             lhs.parameter8 == rhs.parameter8 &&
             lhs.parameter9 == rhs.parameter9 &&
             lhs.parameter10 == rhs.parameter10 &&
@@ -100,7 +94,8 @@ extension TestSynchronizeConfiguration: Hashable, Equatable {
             lhs.parameter12 == rhs.parameter12 &&
             lhs.parameter13 == rhs.parameter13 &&
             lhs.parameter14 == rhs.parameter14 &&
-            lhs.dateRun == rhs.dateRun
+            lhs.dateRun == rhs.dateRun &&
+            lhs.backupID == rhs.backupID
     }
 
     func hash(into hasher: inout Hasher) {
@@ -113,8 +108,6 @@ extension TestSynchronizeConfiguration: Hashable, Equatable {
         hasher.combine(parameter2)
         hasher.combine(parameter3)
         hasher.combine(parameter4)
-        hasher.combine(parameter5)
-        hasher.combine(parameter6)
         hasher.combine(parameter8)
         hasher.combine(parameter9)
         hasher.combine(parameter10)
@@ -123,6 +116,7 @@ extension TestSynchronizeConfiguration: Hashable, Equatable {
         hasher.combine(parameter13)
         hasher.combine(parameter14)
         hasher.combine(dateRun)
+        hasher.combine(backupID)
     }
 }