diff --git a/FTPClient/.vs/FTPClient/DesignTimeBuild/.dtbcache.v2 b/FTPClient/.vs/FTPClient/DesignTimeBuild/.dtbcache.v2
new file mode 100644
index 0000000000000000000000000000000000000000..3c32c89a7df80643cb66827be9931ebe52d91bc8
Binary files /dev/null and b/FTPClient/.vs/FTPClient/DesignTimeBuild/.dtbcache.v2 differ
diff --git a/FTPClient/.vs/FTPClient/v16/.suo b/FTPClient/.vs/FTPClient/v16/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..36c79fa09e8e54859ae84f5db63016ce11f48818
Binary files /dev/null and b/FTPClient/.vs/FTPClient/v16/.suo differ
diff --git a/FTPClient/FTPClient.sln b/FTPClient/FTPClient.sln
new file mode 100644
index 0000000000000000000000000000000000000000..088e6436ac4541df6d98c6b2a0817156876b22e7
--- /dev/null
+++ b/FTPClient/FTPClient.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.31205.134
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FTPClient", "FTPClient\FTPClient.csproj", "{EB790FFB-D1D8-4C55-8AEA-84FADD41FE0F}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{EB790FFB-D1D8-4C55-8AEA-84FADD41FE0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{EB790FFB-D1D8-4C55-8AEA-84FADD41FE0F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{EB790FFB-D1D8-4C55-8AEA-84FADD41FE0F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{EB790FFB-D1D8-4C55-8AEA-84FADD41FE0F}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {0CD7BE85-8058-4FD1-8D58-70CA5F7A636B}
+	EndGlobalSection
+EndGlobal
diff --git a/FTPClient/FTPClient/Client.cs b/FTPClient/FTPClient/Client.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3cb94d63303b05f7426147a4b287be6477ab8ed3
--- /dev/null
+++ b/FTPClient/FTPClient/Client.cs
@@ -0,0 +1,22 @@
+using System;
+
+namespace FTPClient
+{
+    class Client
+    {
+        public static string username = "anynomous";
+        public static string password = "anynomous";
+        public static string host = "ftp.funet.fi";
+        public static int port = 21;
+        
+        static void Main(string[] args)
+        {
+            FtpClient client = new FtpClient(username, password, host, port);
+            client.Initialize();
+            client.LogIn();
+            client.Epsv();
+            client.Quit();
+            Console.ReadKey();
+        }
+    }
+}
diff --git a/FTPClient/FTPClient/FTPClient.csproj b/FTPClient/FTPClient/FTPClient.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..c73e0d1692ab38cc8596bbd32ae080d903aaa778
--- /dev/null
+++ b/FTPClient/FTPClient/FTPClient.csproj
@@ -0,0 +1,8 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+  </PropertyGroup>
+
+</Project>
diff --git a/FTPClient/FTPClient/FtpClient.cs b/FTPClient/FTPClient/FtpClient.cs
new file mode 100644
index 0000000000000000000000000000000000000000..14dcafbb26c40b4a6039dd3cff322254ad471a33
--- /dev/null
+++ b/FTPClient/FTPClient/FtpClient.cs
@@ -0,0 +1,207 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Net;
+using System.Net.Sockets;
+using System.Text;
+
+namespace FTPClient
+{
+    public class FtpClient
+    {
+        public static Socket socket;
+        public static Socket ftpSocket;
+        public static IPEndPoint ipEndp;
+        public static IPEndPoint ftpIpEndp;
+        public static NetworkStream ns;
+        public static NetworkStream ftpNs;
+        public static StreamReader sr;
+        public static StreamReader ftpSr;
+        public static StreamWriter sw;
+        public static StreamWriter ftpSw;
+        public string status;
+
+        public string username { get; set; }
+        public string password { get; set; }
+        public string host { get; set; }
+        public int port { get; set; }
+        public int ftpPort { get; set; }
+
+        // Constructor
+        public FtpClient(string username, string password, string host, int port)
+        {
+            this.username = username;
+            this.password = password;
+            this.host = host;
+            this.port = port;
+            this.ftpPort = -1;
+        }
+
+        // Initialize socket and connect to server
+        public void Initialize()
+        {
+            socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
+            IPAddress[] ips = Dns.GetHostAddresses(host);
+            IPAddress address = ips[1];
+            ipEndp = new IPEndPoint(address, port);
+            
+            try
+            {
+                socket.Connect(ipEndp);
+            } catch (Exception e)
+            {
+                Console.Write(e);
+                Console.ReadKey();
+            }
+
+            ns = new NetworkStream(socket);
+            sr = new StreamReader(ns);
+            sw = new StreamWriter(ns);
+            string response = sr.ReadLine();
+            handleResponse(response);
+        }
+
+        private void CreateSocket()
+        {
+            ftpSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
+            IPAddress[] ips = Dns.GetHostAddresses(host);
+            IPAddress address = ips[1];
+            ftpIpEndp = new IPEndPoint(address, ftpPort);
+
+            try
+            {
+                ftpSocket.Connect(ftpIpEndp);
+            }
+            catch (Exception e)
+            {
+                Console.Write(e);
+                Console.ReadKey();
+            }
+
+            ftpNs = new NetworkStream(ftpSocket);
+            ftpSr = new StreamReader(ftpNs);
+            ftpSw = new StreamWriter(ftpNs);
+
+            string response = ftpSr.ReadLine();
+            handleResponse(response);
+        }
+
+        private void handleEpsvResponse(string response)
+        {
+            status = response.Substring(0, 3);
+
+            if (status == "229")
+            {
+                string newPort = response.Substring(0, response.LastIndexOf('|'));
+                int lastIndex = newPort.LastIndexOf('|');
+                int endIndex = newPort.Length - lastIndex - 1;
+                newPort = newPort.Substring(lastIndex+1, endIndex);
+                int portInt = int.Parse(newPort);
+
+                this.ftpPort = portInt;
+
+                CreateSocket();
+            }
+
+            handleResponse(response);
+        }
+
+        private void handleResponse(string response)
+        {
+            status = response.Substring(0, 3);
+            bool loop = true;
+            string resp = String.Empty;
+            Console.WriteLine(response);
+            if(response[3] == '-')
+            {
+                while (loop)
+                {
+                    resp = sr.ReadLine();
+                    if (resp[3] == '-')
+                    {
+                        Console.WriteLine(resp);
+                    }
+                    else
+                    {
+                        Console.WriteLine(resp);
+                        loop = false;
+                    }
+                }
+            }
+        }
+
+        public void LogIn()
+        {
+            bool keskustelu = true;
+            while (keskustelu)
+            {
+                sw.WriteLine("USER " + username);
+                sw.Flush();
+                handleResponse(sr.ReadLine());
+                switch (status)
+                {
+                    case "220":
+                        sw.WriteLine("USER " + username);
+                        sw.Flush();
+                        handleResponse(sr.ReadLine());
+                        break;
+                    case "230":
+                        keskustelu = false;
+                        break;
+                    case "331":
+                        sw.WriteLine("PASS " + password);
+                        sw.Flush();
+                        handleResponse(sr.ReadLine());
+                        break;
+                    default:
+                        Console.WriteLine("Error in login");
+                        break;
+                }
+            }
+        }
+
+        public void Epsv()
+        {
+            sw.WriteLine("EPSV");
+            sw.Flush();
+            handleEpsvResponse(sr.ReadLine());
+        }
+
+        public void Quit()
+        {
+            sw.WriteLine("QUIT");
+            sw.Flush();
+            handleResponse(sr.ReadLine());
+            TearDown();
+        }
+
+        private void TearDown()
+        {
+            sw.Close();
+            sr.Close();
+            ns.Close();
+            socket.Close();
+        }
+
+        public void GetDirectory()
+        {
+            try
+            {   
+                socket.Connect(ipEndp);
+            } catch (Exception e)
+            {
+                Console.Write(e);
+                Console.ReadKey();
+            }
+
+            NetworkStream ns = new NetworkStream(socket);
+
+            StreamReader sr = new StreamReader(ns);
+            StreamWriter sw = new StreamWriter(ns);
+
+            string viesti = sr.ReadLine();
+            Console.WriteLine(viesti);
+        }
+
+    }
+}
diff --git a/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.deps.json b/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.deps.json
new file mode 100644
index 0000000000000000000000000000000000000000..a064f8351d67b69eb01b037fa09741c3f414e61b
--- /dev/null
+++ b/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.deps.json
@@ -0,0 +1,23 @@
+{
+  "runtimeTarget": {
+    "name": ".NETCoreApp,Version=v3.1",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETCoreApp,Version=v3.1": {
+      "FTPClient/1.0.0": {
+        "runtime": {
+          "FTPClient.dll": {}
+        }
+      }
+    }
+  },
+  "libraries": {
+    "FTPClient/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    }
+  }
+}
\ No newline at end of file
diff --git a/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.dll b/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.dll
new file mode 100644
index 0000000000000000000000000000000000000000..d8909ceffe39fc6e55a1a7348e92a6f9137cf38b
Binary files /dev/null and b/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.dll differ
diff --git a/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.exe b/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.exe
new file mode 100644
index 0000000000000000000000000000000000000000..9162bfcac681ff6826a3128ad2cb6b14160efc57
Binary files /dev/null and b/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.exe differ
diff --git a/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.pdb b/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.pdb
new file mode 100644
index 0000000000000000000000000000000000000000..f905ac9dc4f65de75037af7840c0f6f4a7cf03e3
Binary files /dev/null and b/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.pdb differ
diff --git a/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.runtimeconfig.dev.json b/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.runtimeconfig.dev.json
new file mode 100644
index 0000000000000000000000000000000000000000..9c9aff74d0f5c5b745a7d98df0d03319b4b012c4
--- /dev/null
+++ b/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.runtimeconfig.dev.json
@@ -0,0 +1,8 @@
+{
+  "runtimeOptions": {
+    "additionalProbingPaths": [
+      "C:\\Users\\Joppe\\.dotnet\\store\\|arch|\\|tfm|",
+      "C:\\Users\\Joppe\\.nuget\\packages"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.runtimeconfig.json b/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.runtimeconfig.json
new file mode 100644
index 0000000000000000000000000000000000000000..bc456d7868bb54ec1809da30e339cd43f0a8a09c
--- /dev/null
+++ b/FTPClient/FTPClient/bin/Debug/netcoreapp3.1/FTPClient.runtimeconfig.json
@@ -0,0 +1,9 @@
+{
+  "runtimeOptions": {
+    "tfm": "netcoreapp3.1",
+    "framework": {
+      "name": "Microsoft.NETCore.App",
+      "version": "3.1.0"
+    }
+  }
+}
\ No newline at end of file
diff --git a/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ad8dfe1a6310302587a2d0c0111d81b250eb4105
--- /dev/null
+++ b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+// <autogenerated />
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = "")]
diff --git a/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.AssemblyInfo.cs b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.AssemblyInfo.cs
new file mode 100644
index 0000000000000000000000000000000000000000..69b99e106333de5c83ef48b335763296245da1cf
--- /dev/null
+++ b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.AssemblyInfo.cs
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("FTPClient")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
+[assembly: System.Reflection.AssemblyProductAttribute("FTPClient")]
+[assembly: System.Reflection.AssemblyTitleAttribute("FTPClient")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Generated by the MSBuild WriteCodeFragment class.
+
diff --git a/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.AssemblyInfoInputs.cache b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.AssemblyInfoInputs.cache
new file mode 100644
index 0000000000000000000000000000000000000000..801d15e780aab52207997cb5b9d14c1808a80bd0
--- /dev/null
+++ b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+c740c62c19d0456ba793c0120c26262afecce061
diff --git a/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.assets.cache b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.assets.cache
new file mode 100644
index 0000000000000000000000000000000000000000..c3ab52ebf0993fd2c1f88d22315ca820d7b09237
Binary files /dev/null and b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.assets.cache differ
diff --git a/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.csproj.CoreCompileInputs.cache b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000000000000000000000000000000000000..e37df9fc6cb7b4ec11439eea154a5bbb0317f0eb
--- /dev/null
+++ b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+a4e69bfc552dac666e14bfb187fa62f229299f16
diff --git a/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.csproj.FileListAbsolute.txt b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000000000000000000000000000000000000..75b4924353af0649e3739acbe2d70e89732e84cf
--- /dev/null
+++ b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.csproj.FileListAbsolute.txt
@@ -0,0 +1,13 @@
+E:\Kurssit\ties323\FTPClient\FTPClient\bin\Debug\netcoreapp3.1\FTPClient.exe
+E:\Kurssit\ties323\FTPClient\FTPClient\bin\Debug\netcoreapp3.1\FTPClient.deps.json
+E:\Kurssit\ties323\FTPClient\FTPClient\bin\Debug\netcoreapp3.1\FTPClient.runtimeconfig.json
+E:\Kurssit\ties323\FTPClient\FTPClient\bin\Debug\netcoreapp3.1\FTPClient.runtimeconfig.dev.json
+E:\Kurssit\ties323\FTPClient\FTPClient\bin\Debug\netcoreapp3.1\FTPClient.dll
+E:\Kurssit\ties323\FTPClient\FTPClient\bin\Debug\netcoreapp3.1\FTPClient.pdb
+E:\Kurssit\ties323\FTPClient\FTPClient\obj\Debug\netcoreapp3.1\FTPClient.csprojAssemblyReference.cache
+E:\Kurssit\ties323\FTPClient\FTPClient\obj\Debug\netcoreapp3.1\FTPClient.AssemblyInfoInputs.cache
+E:\Kurssit\ties323\FTPClient\FTPClient\obj\Debug\netcoreapp3.1\FTPClient.AssemblyInfo.cs
+E:\Kurssit\ties323\FTPClient\FTPClient\obj\Debug\netcoreapp3.1\FTPClient.csproj.CoreCompileInputs.cache
+E:\Kurssit\ties323\FTPClient\FTPClient\obj\Debug\netcoreapp3.1\FTPClient.dll
+E:\Kurssit\ties323\FTPClient\FTPClient\obj\Debug\netcoreapp3.1\FTPClient.pdb
+E:\Kurssit\ties323\FTPClient\FTPClient\obj\Debug\netcoreapp3.1\FTPClient.genruntimeconfig.cache
diff --git a/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.csprojAssemblyReference.cache b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.csprojAssemblyReference.cache
new file mode 100644
index 0000000000000000000000000000000000000000..2e2e4cd48ef53623d9b1b2ede269e8059601fa08
Binary files /dev/null and b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.csprojAssemblyReference.cache differ
diff --git a/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.dll b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.dll
new file mode 100644
index 0000000000000000000000000000000000000000..d8909ceffe39fc6e55a1a7348e92a6f9137cf38b
Binary files /dev/null and b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.dll differ
diff --git a/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.genruntimeconfig.cache b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.genruntimeconfig.cache
new file mode 100644
index 0000000000000000000000000000000000000000..d7a32265a64762452016eecc87434c4cf7d6c9e1
--- /dev/null
+++ b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.genruntimeconfig.cache
@@ -0,0 +1 @@
+e7930741b859f33aced304b7bf7f3548c9c8a4f8
diff --git a/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.pdb b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.pdb
new file mode 100644
index 0000000000000000000000000000000000000000..f905ac9dc4f65de75037af7840c0f6f4a7cf03e3
Binary files /dev/null and b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/FTPClient.pdb differ
diff --git a/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/apphost.exe b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/apphost.exe
new file mode 100644
index 0000000000000000000000000000000000000000..9162bfcac681ff6826a3128ad2cb6b14160efc57
Binary files /dev/null and b/FTPClient/FTPClient/obj/Debug/netcoreapp3.1/apphost.exe differ
diff --git a/FTPClient/FTPClient/obj/FTPClient.csproj.nuget.dgspec.json b/FTPClient/FTPClient/obj/FTPClient.csproj.nuget.dgspec.json
new file mode 100644
index 0000000000000000000000000000000000000000..e355f70c7e33b069fe3689b542321f7a82832eae
--- /dev/null
+++ b/FTPClient/FTPClient/obj/FTPClient.csproj.nuget.dgspec.json
@@ -0,0 +1,62 @@
+{
+  "format": 1,
+  "restore": {
+    "E:\\Kurssit\\ties323\\FTPClient\\FTPClient\\FTPClient.csproj": {}
+  },
+  "projects": {
+    "E:\\Kurssit\\ties323\\FTPClient\\FTPClient\\FTPClient.csproj": {
+      "version": "1.0.0",
+      "restore": {
+        "projectUniqueName": "E:\\Kurssit\\ties323\\FTPClient\\FTPClient\\FTPClient.csproj",
+        "projectName": "FTPClient",
+        "projectPath": "E:\\Kurssit\\ties323\\FTPClient\\FTPClient\\FTPClient.csproj",
+        "packagesPath": "C:\\Users\\Joppe\\.nuget\\packages\\",
+        "outputPath": "E:\\Kurssit\\ties323\\FTPClient\\FTPClient\\obj\\",
+        "projectStyle": "PackageReference",
+        "configFilePaths": [
+          "C:\\Users\\Joppe\\AppData\\Roaming\\NuGet\\NuGet.Config",
+          "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+        ],
+        "originalTargetFrameworks": [
+          "netcoreapp3.1"
+        ],
+        "sources": {
+          "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+          "https://api.nuget.org/v3/index.json": {}
+        },
+        "frameworks": {
+          "netcoreapp3.1": {
+            "targetAlias": "netcoreapp3.1",
+            "projectReferences": {}
+          }
+        },
+        "warningProperties": {
+          "warnAsError": [
+            "NU1605"
+          ]
+        }
+      },
+      "frameworks": {
+        "netcoreapp3.1": {
+          "targetAlias": "netcoreapp3.1",
+          "imports": [
+            "net461",
+            "net462",
+            "net47",
+            "net471",
+            "net472",
+            "net48"
+          ],
+          "assetTargetFallback": true,
+          "warn": true,
+          "frameworkReferences": {
+            "Microsoft.NETCore.App": {
+              "privateAssets": "all"
+            }
+          },
+          "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.202\\RuntimeIdentifierGraph.json"
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/FTPClient/FTPClient/obj/FTPClient.csproj.nuget.g.props b/FTPClient/FTPClient/obj/FTPClient.csproj.nuget.g.props
new file mode 100644
index 0000000000000000000000000000000000000000..84f1eb192295b24b36bd8e55d6e1a138089562da
--- /dev/null
+++ b/FTPClient/FTPClient/obj/FTPClient.csproj.nuget.g.props
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
+    <RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
+    <RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
+    <ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
+    <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
+    <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Joppe\.nuget\packages\</NuGetPackageFolders>
+    <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
+    <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.9.1</NuGetToolVersion>
+  </PropertyGroup>
+  <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
+    <SourceRoot Include="C:\Users\Joppe\.nuget\packages\" />
+  </ItemGroup>
+  <PropertyGroup>
+    <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/FTPClient/FTPClient/obj/FTPClient.csproj.nuget.g.targets b/FTPClient/FTPClient/obj/FTPClient.csproj.nuget.g.targets
new file mode 100644
index 0000000000000000000000000000000000000000..53cfaa19b16f3769b2bfc33db3b5c0053c16fdba
--- /dev/null
+++ b/FTPClient/FTPClient/obj/FTPClient.csproj.nuget.g.targets
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/FTPClient/FTPClient/obj/project.assets.json b/FTPClient/FTPClient/obj/project.assets.json
new file mode 100644
index 0000000000000000000000000000000000000000..b700cbd7427afe2fedb6e104d2701ccb4a81887b
--- /dev/null
+++ b/FTPClient/FTPClient/obj/project.assets.json
@@ -0,0 +1,67 @@
+{
+  "version": 3,
+  "targets": {
+    ".NETCoreApp,Version=v3.1": {}
+  },
+  "libraries": {},
+  "projectFileDependencyGroups": {
+    ".NETCoreApp,Version=v3.1": []
+  },
+  "packageFolders": {
+    "C:\\Users\\Joppe\\.nuget\\packages\\": {}
+  },
+  "project": {
+    "version": "1.0.0",
+    "restore": {
+      "projectUniqueName": "E:\\Kurssit\\ties323\\FTPClient\\FTPClient\\FTPClient.csproj",
+      "projectName": "FTPClient",
+      "projectPath": "E:\\Kurssit\\ties323\\FTPClient\\FTPClient\\FTPClient.csproj",
+      "packagesPath": "C:\\Users\\Joppe\\.nuget\\packages\\",
+      "outputPath": "E:\\Kurssit\\ties323\\FTPClient\\FTPClient\\obj\\",
+      "projectStyle": "PackageReference",
+      "configFilePaths": [
+        "C:\\Users\\Joppe\\AppData\\Roaming\\NuGet\\NuGet.Config",
+        "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+      ],
+      "originalTargetFrameworks": [
+        "netcoreapp3.1"
+      ],
+      "sources": {
+        "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+        "https://api.nuget.org/v3/index.json": {}
+      },
+      "frameworks": {
+        "netcoreapp3.1": {
+          "targetAlias": "netcoreapp3.1",
+          "projectReferences": {}
+        }
+      },
+      "warningProperties": {
+        "warnAsError": [
+          "NU1605"
+        ]
+      }
+    },
+    "frameworks": {
+      "netcoreapp3.1": {
+        "targetAlias": "netcoreapp3.1",
+        "imports": [
+          "net461",
+          "net462",
+          "net47",
+          "net471",
+          "net472",
+          "net48"
+        ],
+        "assetTargetFallback": true,
+        "warn": true,
+        "frameworkReferences": {
+          "Microsoft.NETCore.App": {
+            "privateAssets": "all"
+          }
+        },
+        "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.202\\RuntimeIdentifierGraph.json"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/FTPClient/FTPClient/obj/project.nuget.cache b/FTPClient/FTPClient/obj/project.nuget.cache
new file mode 100644
index 0000000000000000000000000000000000000000..cd3d8edc5d09cd729ca11a8bddad9d3b912807e8
--- /dev/null
+++ b/FTPClient/FTPClient/obj/project.nuget.cache
@@ -0,0 +1,8 @@
+{
+  "version": 2,
+  "dgSpecHash": "td+DU+ATeEaHMFA0MgN4H3L0dlSjKu5yr/TpDOaYKWkx2g0euBZ1LthPYakpr+yVOgSdLjUDD4qiHr3p0pcL2w==",
+  "success": true,
+  "projectFilePath": "E:\\Kurssit\\ties323\\FTPClient\\FTPClient\\FTPClient.csproj",
+  "expectedPackageFiles": [],
+  "logs": []
+}
\ No newline at end of file