diff --git a/POP3Client/.vs/POP3Client/v16/.suo b/POP3Client/.vs/POP3Client/v16/.suo
index d1cfd92a763b84739d41a81c2257299d9b1e1b6c..ad991a8db5f659b74c1eceac7c656de16a5480f3 100644
Binary files a/POP3Client/.vs/POP3Client/v16/.suo and b/POP3Client/.vs/POP3Client/v16/.suo differ
diff --git a/POP3Client/POP3Client/Program.cs b/POP3Client/POP3Client/Program.cs
index ad1bb5abad939a07b58f431064c61ca10d4ff833..5b73f923d284ac653e98c2bba78148614c02dfa7 100644
--- a/POP3Client/POP3Client/Program.cs
+++ b/POP3Client/POP3Client/Program.cs
@@ -32,6 +32,9 @@ namespace POP3Client
 
             Boolean on = true;
             String viesti = "";
+            POPTila tila = POPTila.Aloitus;
+            AuthState authState = AuthState.UserState;
+
             while (on)
             {
                 // Luetaan 
@@ -39,14 +42,43 @@ namespace POP3Client
                 Console.WriteLine(viesti);
                 String[] status = viesti.Split(' ');
 
-                switch(status[0])
+                switch(tila)
                 {
-                    case "+OK":
+                    case POPTila.Aloitus:
+                        if(status[0] == "+OK") 
+                        {
+                            sw.WriteLine("USER joalhelk");
+                            tila = POPTila.Authorization;
+                        }
+                        break;
+                    case POPTila.Authorization:
+                        if(authState == AuthState.UserState && status[0] == "+OK")
+                        {
+                            authState = AuthState.PassState;
+                            sw.WriteLine("PASS secretpass");
 
+                        } else if (authState == AuthState.UserState && status[0] == "-ERR")
+                        {
+                            sw.WriteLine("USER joalhelk");
+                        } else if (authState == AuthState.PassState && status[0] == "+OK")
+                        {
+                            authState = AuthState.UserState;
+                            tila = POPTila.Transaction;
+                            sw.WriteLine("LIST");
+                        }
+                        break;
+                    case POPTila.Transaction:
+                        if(status[0] == ".") { sw.WriteLine("QUIT"); tila = POPTila.Quit;  }
+                        break;
+                    case POPTila.Quit:
+                        if(status[0] == "+OK") { on = false; }
                         break;
                     default:
+                        Console.WriteLine("Error happened...");
+                        sw.WriteLine("QUIT"); tila = POPTila.Quit;
                         break;
                 }
+                sw.Flush();
             }
 
 
@@ -58,4 +90,18 @@ namespace POP3Client
             socket.Close();
         }
     }
+
+    enum POPTila : UInt16
+    {
+        Aloitus,
+        Authorization,
+        Transaction,
+        Quit
+    }
+
+    enum AuthState : UInt16
+    {
+        UserState,
+        PassState
+    }
 }
diff --git a/POP3Client/POP3Client/bin/Debug/netcoreapp3.1/POP3Client.dll b/POP3Client/POP3Client/bin/Debug/netcoreapp3.1/POP3Client.dll
index be2b424004bcd2b43c1a7704df9ae7b1b7de1694..01c74664d36d5826dd457393a4bff0783e8a74ff 100644
Binary files a/POP3Client/POP3Client/bin/Debug/netcoreapp3.1/POP3Client.dll and b/POP3Client/POP3Client/bin/Debug/netcoreapp3.1/POP3Client.dll differ
diff --git a/POP3Client/POP3Client/bin/Debug/netcoreapp3.1/POP3Client.pdb b/POP3Client/POP3Client/bin/Debug/netcoreapp3.1/POP3Client.pdb
index 30b24af464701f999187f9be29734bc5f668fba3..8808a51e37d3d850ffea0495a0c83c0345168e3d 100644
Binary files a/POP3Client/POP3Client/bin/Debug/netcoreapp3.1/POP3Client.pdb and b/POP3Client/POP3Client/bin/Debug/netcoreapp3.1/POP3Client.pdb differ
diff --git a/POP3Client/POP3Client/obj/Debug/netcoreapp3.1/POP3Client.csproj.FileListAbsolute.txt b/POP3Client/POP3Client/obj/Debug/netcoreapp3.1/POP3Client.csproj.FileListAbsolute.txt
index 1674f1314651c7a830dcc77565a66ec2ed619570..09b4beb220ef257f8d33b75fc688dacadb77f8bf 100644
--- a/POP3Client/POP3Client/obj/Debug/netcoreapp3.1/POP3Client.csproj.FileListAbsolute.txt
+++ b/POP3Client/POP3Client/obj/Debug/netcoreapp3.1/POP3Client.csproj.FileListAbsolute.txt
@@ -4,7 +4,6 @@ E:\Kurssit\ties323\POP3Client\POP3Client\bin\Debug\netcoreapp3.1\POP3Client.runt
 E:\Kurssit\ties323\POP3Client\POP3Client\bin\Debug\netcoreapp3.1\POP3Client.runtimeconfig.dev.json
 E:\Kurssit\ties323\POP3Client\POP3Client\bin\Debug\netcoreapp3.1\POP3Client.dll
 E:\Kurssit\ties323\POP3Client\POP3Client\bin\Debug\netcoreapp3.1\POP3Client.pdb
-E:\Kurssit\ties323\POP3Client\POP3Client\obj\Debug\netcoreapp3.1\POP3Client.csprojAssemblyReference.cache
 E:\Kurssit\ties323\POP3Client\POP3Client\obj\Debug\netcoreapp3.1\POP3Client.AssemblyInfoInputs.cache
 E:\Kurssit\ties323\POP3Client\POP3Client\obj\Debug\netcoreapp3.1\POP3Client.AssemblyInfo.cs
 E:\Kurssit\ties323\POP3Client\POP3Client\obj\Debug\netcoreapp3.1\POP3Client.csproj.CoreCompileInputs.cache
diff --git a/POP3Client/POP3Client/obj/Debug/netcoreapp3.1/POP3Client.csprojAssemblyReference.cache b/POP3Client/POP3Client/obj/Debug/netcoreapp3.1/POP3Client.csprojAssemblyReference.cache
deleted file mode 100644
index 74fe67b1ca671095970d4a7fbcae2417231e8f41..0000000000000000000000000000000000000000
Binary files a/POP3Client/POP3Client/obj/Debug/netcoreapp3.1/POP3Client.csprojAssemblyReference.cache and /dev/null differ
diff --git a/POP3Client/POP3Client/obj/Debug/netcoreapp3.1/POP3Client.dll b/POP3Client/POP3Client/obj/Debug/netcoreapp3.1/POP3Client.dll
index be2b424004bcd2b43c1a7704df9ae7b1b7de1694..01c74664d36d5826dd457393a4bff0783e8a74ff 100644
Binary files a/POP3Client/POP3Client/obj/Debug/netcoreapp3.1/POP3Client.dll and b/POP3Client/POP3Client/obj/Debug/netcoreapp3.1/POP3Client.dll differ
diff --git a/POP3Client/POP3Client/obj/Debug/netcoreapp3.1/POP3Client.pdb b/POP3Client/POP3Client/obj/Debug/netcoreapp3.1/POP3Client.pdb
index 30b24af464701f999187f9be29734bc5f668fba3..8808a51e37d3d850ffea0495a0c83c0345168e3d 100644
Binary files a/POP3Client/POP3Client/obj/Debug/netcoreapp3.1/POP3Client.pdb and b/POP3Client/POP3Client/obj/Debug/netcoreapp3.1/POP3Client.pdb differ
diff --git a/POP3Client/POP3Client/obj/POP3Client.csproj.nuget.cache b/POP3Client/POP3Client/obj/POP3Client.csproj.nuget.cache
deleted file mode 100644
index 084bb53190b4699ed84afccb6e89ade04b7dfc9a..0000000000000000000000000000000000000000
--- a/POP3Client/POP3Client/obj/POP3Client.csproj.nuget.cache
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  "version": 1,
-  "dgSpecHash": "rI9kRBVb8tNBZjzeWr4X94O/IZZ4kzBDn3O/zulmIzHTsb5XLQFQMUFR+epU18yCTh+YlHXCcTxtH5LCoADyCQ==",
-  "success": true
-}
\ No newline at end of file
diff --git a/POP3Client/POP3Client/obj/POP3Client.csproj.nuget.dgspec.json b/POP3Client/POP3Client/obj/POP3Client.csproj.nuget.dgspec.json
index d3ee200f5c5e702396fb46062c84fb8332736009..50db21c8bfdf2f526b75e67acdec93a44eaa5113 100644
--- a/POP3Client/POP3Client/obj/POP3Client.csproj.nuget.dgspec.json
+++ b/POP3Client/POP3Client/obj/POP3Client.csproj.nuget.dgspec.json
@@ -1,32 +1,32 @@
 {
   "format": 1,
   "restore": {
-    "C:\\Kurssit\\ties323\\POP3Client\\POP3Client\\POP3Client.csproj": {}
+    "E:\\Kurssit\\ties323\\POP3Client\\POP3Client\\POP3Client.csproj": {}
   },
   "projects": {
-    "C:\\Kurssit\\ties323\\POP3Client\\POP3Client\\POP3Client.csproj": {
+    "E:\\Kurssit\\ties323\\POP3Client\\POP3Client\\POP3Client.csproj": {
       "version": "1.0.0",
       "restore": {
-        "projectUniqueName": "C:\\Kurssit\\ties323\\POP3Client\\POP3Client\\POP3Client.csproj",
+        "projectUniqueName": "E:\\Kurssit\\ties323\\POP3Client\\POP3Client\\POP3Client.csproj",
         "projectName": "POP3Client",
-        "projectPath": "C:\\Kurssit\\ties323\\POP3Client\\POP3Client\\POP3Client.csproj",
-        "packagesPath": "C:\\Users\\Joel\\.nuget\\packages\\",
-        "outputPath": "C:\\Kurssit\\ties323\\POP3Client\\POP3Client\\obj\\",
+        "projectPath": "E:\\Kurssit\\ties323\\POP3Client\\POP3Client\\POP3Client.csproj",
+        "packagesPath": "C:\\Users\\Joppe\\.nuget\\packages\\",
+        "outputPath": "E:\\Kurssit\\ties323\\POP3Client\\POP3Client\\obj\\",
         "projectStyle": "PackageReference",
-        "fallbackFolders": [
-          "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
-        ],
         "configFilePaths": [
-          "C:\\Users\\Joel\\AppData\\Roaming\\NuGet\\NuGet.Config"
+          "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": {}
           }
         },
@@ -38,11 +38,23 @@
       },
       "frameworks": {
         "netcoreapp3.1": {
+          "targetAlias": "netcoreapp3.1",
           "imports": [
-            "net461"
+            "net461",
+            "net462",
+            "net47",
+            "net471",
+            "net472",
+            "net48"
           ],
           "assetTargetFallback": true,
-          "warn": true
+          "warn": true,
+          "frameworkReferences": {
+            "Microsoft.NETCore.App": {
+              "privateAssets": "all"
+            }
+          },
+          "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.202\\RuntimeIdentifierGraph.json"
         }
       }
     }
diff --git a/POP3Client/POP3Client/obj/POP3Client.csproj.nuget.g.props b/POP3Client/POP3Client/obj/POP3Client.csproj.nuget.g.props
index b500bcae08b41c600eb2cf572b6e7ebd7d69ca5d..84f1eb192295b24b36bd8e55d6e1a138089562da 100644
--- a/POP3Client/POP3Client/obj/POP3Client.csproj.nuget.g.props
+++ b/POP3Client/POP3Client/obj/POP3Client.csproj.nuget.g.props
@@ -5,10 +5,13 @@
     <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\Joel\.nuget\packages\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder</NuGetPackageFolders>
+    <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Joppe\.nuget\packages\</NuGetPackageFolders>
     <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
-    <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.2.0</NuGetToolVersion>
+    <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>
diff --git a/POP3Client/POP3Client/obj/project.assets.json b/POP3Client/POP3Client/obj/project.assets.json
index bcc9e5f0dd341093a14f97429680615955ec776d..7d21a0ab400746316e95b1bd4de874cfb5370ecc 100644
--- a/POP3Client/POP3Client/obj/project.assets.json
+++ b/POP3Client/POP3Client/obj/project.assets.json
@@ -8,32 +8,31 @@
     ".NETCoreApp,Version=v3.1": []
   },
   "packageFolders": {
-    "C:\\Users\\Joel\\.nuget\\packages\\": {},
-    "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {}
+    "C:\\Users\\Joppe\\.nuget\\packages\\": {}
   },
   "project": {
     "version": "1.0.0",
     "restore": {
-      "projectUniqueName": "C:\\Kurssit\\ties323\\POP3Client\\POP3Client\\POP3Client.csproj",
+      "projectUniqueName": "E:\\Kurssit\\ties323\\POP3Client\\POP3Client\\POP3Client.csproj",
       "projectName": "POP3Client",
-      "projectPath": "C:\\Kurssit\\ties323\\POP3Client\\POP3Client\\POP3Client.csproj",
-      "packagesPath": "C:\\Users\\Joel\\.nuget\\packages\\",
-      "outputPath": "C:\\Kurssit\\ties323\\POP3Client\\POP3Client\\obj\\",
+      "projectPath": "E:\\Kurssit\\ties323\\POP3Client\\POP3Client\\POP3Client.csproj",
+      "packagesPath": "C:\\Users\\Joppe\\.nuget\\packages\\",
+      "outputPath": "E:\\Kurssit\\ties323\\POP3Client\\POP3Client\\obj\\",
       "projectStyle": "PackageReference",
-      "fallbackFolders": [
-        "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
-      ],
       "configFilePaths": [
-        "C:\\Users\\Joel\\AppData\\Roaming\\NuGet\\NuGet.Config"
+        "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": {}
         }
       },
@@ -45,11 +44,23 @@
     },
     "frameworks": {
       "netcoreapp3.1": {
+        "targetAlias": "netcoreapp3.1",
         "imports": [
-          "net461"
+          "net461",
+          "net462",
+          "net47",
+          "net471",
+          "net472",
+          "net48"
         ],
         "assetTargetFallback": true,
-        "warn": true
+        "warn": true,
+        "frameworkReferences": {
+          "Microsoft.NETCore.App": {
+            "privateAssets": "all"
+          }
+        },
+        "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.202\\RuntimeIdentifierGraph.json"
       }
     }
   }
diff --git a/STMPServer/.vs/STMPServer/v16/.suo b/STMPServer/.vs/STMPServer/v16/.suo
index 810ac13fd28b7f248f26ed591a6504241785a4a3..d1ac9b298cf65884d5517c34dd55d14c85d642f3 100644
Binary files a/STMPServer/.vs/STMPServer/v16/.suo and b/STMPServer/.vs/STMPServer/v16/.suo differ
diff --git a/STMPServer/STMPServer/Program.cs b/STMPServer/STMPServer/Program.cs
index eba9cc5fe90d161b0b113c2b5d2ca61c1d3e3eb8..3774b74c962795d67369812e40d55c9ffc5930e7 100644
--- a/STMPServer/STMPServer/Program.cs
+++ b/STMPServer/STMPServer/Program.cs
@@ -39,7 +39,14 @@ namespace STMPServer
         {
             Aloitus,
             Authorization,
-            Transaction
+            Transaction,
+            Update
+        }
+
+        enum AuthState : UInt16
+        {
+            UserState,
+            PassState
         }
 
 
@@ -51,15 +58,17 @@ namespace STMPServer
             Console.WriteLine("Uusi asiakas: {0} portista: {1}", ip, asiakas_port);
 
             POPTila tila = POPTila.Aloitus;
+            AuthState authState = AuthState.UserState;
+
             bool keskustelu = true;
+            string[] viestit = new string[] { "viesti 1", "viesti2", "viestriiii3" };
 
             // 10min timeout jos ei vastaa?
             while(keskustelu)
             {
                 byte[] buffer = new byte[2048];
-                asiakas.Receive(buffer);
-                string asiakas_vastaus = Encoding.UTF8.GetString(buffer);
-
+                string asiakas_vastaus = "";
+                int state;
                 switch (tila)
                 {
                     case POPTila.Aloitus:
@@ -67,20 +76,126 @@ namespace STMPServer
                         tila = POPTila.Authorization;
                         break;
                     case POPTila.Authorization:
-                        global::System.Console.WriteLine(asiakas_vastaus);
+                        asiakas.Receive(buffer);
+                        asiakas_vastaus = TrimVastaus(Encoding.UTF8.GetString(buffer), asiakas);
+
+                        state = CheckAuthorization(asiakas_vastaus, authState, asiakas);
+                        if (state == 1) { authState = AuthState.PassState; }
+                        if (state == 2) { authState = AuthState.UserState; tila = POPTila.Transaction; }
+                        if (state == 3) { keskustelu = false; }
                         break;
                     case POPTila.Transaction:
-                        HandleTransaction();
+                        asiakas.Receive(buffer);
+                        asiakas_vastaus = TrimVastaus(Encoding.UTF8.GetString(buffer), asiakas);
+
+                        state = HandleTransaction(asiakas_vastaus, asiakas, viestit);
+                        if(state == 1) { tila = POPTila.Update; }
+                        break;
+                    case POPTila.Update:
+                        HandleQuit(asiakas);
+                        keskustelu = false;
                         break;
                     default:
+                        VastaaAsiakas("Some error happened... shutting down", asiakas);
+                        keskustelu = false;
                         break;
                 }
             }
         }
 
-        static void HandleTransaction()
+        static void HandleQuit(Socket socket)
         {
+            string vastaus = "+OK TIES323 POP3 server signing off";
+            VastaaAsiakas(vastaus, socket);
+        }
+
+        static string TrimVastaus(string vastaus, Socket socket)
+        {
+            string ip = ((IPEndPoint)(socket.RemoteEndPoint)).Address.ToString();
+            string asiakas_port = ((IPEndPoint)(socket.RemoteEndPoint)).Port.ToString();
+
+            string[] user = vastaus.Split(
+                new[] { "\r\n", "\r", "\n" },
+                    StringSplitOptions.None
+                );
+            Console.WriteLine("[{0}:{1}]: {2}", ip, asiakas_port, user[0]);
+            return user[0];
+        }
 
+        static int CheckAuthorization(string msg, AuthState state, Socket socket)
+        {
+            string[] array = msg.Split(' ');
+            int change_state = 0;
+            string new_msg = "";
+            if (state == AuthState.UserState && array[0] == "USER")
+            {
+                if (array[1] == "joalhelk") 
+                {
+                    new_msg = "+OK " + array[1] + " is a real hoopy frood";
+                    change_state = 1;
+                } else
+                {
+                    new_msg = "-ERR sorry, no mailbox for " + array[1] + " here";
+                }
+            } else if (state == AuthState.PassState && array[0] == "PASS")
+            {
+                if (array[1] == "secretpass")
+                {
+                    new_msg = "+OK maildrop locked and ready";
+                    change_state = 2;
+                } else
+                {
+                    new_msg = "-ERR invalid password";
+                }
+            } else if(array[0] == "QUIT")
+            {
+                new_msg = "+OK TIES323 POP3 server signing off";
+                change_state = 3;
+            }
+            VastaaAsiakas(new_msg, socket);
+            return change_state;
+        }
+
+        static int HandleTransaction(string msg, Socket socket, string[] viestit)
+        {
+            string[] array = msg.Split(' ');
+            int tila = 0;
+            if (array[0] == "LIST")
+            {
+                int koko = 0;
+                if(array.Length > 1)
+                {
+                    int num = Int32.Parse(array[1]);
+                    if(num <= viestit.Length)
+                    {
+                        string vastaus = string.Format("+OK {0} {1}", num, Encoding.UTF8.GetByteCount(viestit[num - 1]));
+                        VastaaAsiakas(vastaus, socket);
+                    } else
+                    {
+                        string vastaus = string.Format("-ERR no such message, only {0} messages in maildrop", viestit.Length);
+                        VastaaAsiakas(vastaus, socket);
+                    }
+                } else
+                {
+                    for (int i = 0; i < viestit.Length; i++)
+                    {
+                        koko += Encoding.UTF8.GetByteCount(viestit[i]);
+                    }
+                    string vastaus = string.Format("+OK {0} messages ({1} octets)", viestit.Length, koko);
+                    VastaaAsiakas(vastaus, socket);
+                    for(int i = 0; i < viestit.Length; i++)
+                    {
+                        vastaus = "" + (i+1) + " " + Encoding.UTF8.GetByteCount(viestit[i]);
+                        VastaaAsiakas(vastaus, socket);
+                    }
+                    VastaaAsiakas(".", socket);
+                }
+            } else if (array[0] == "QUIT")
+            {
+                tila = 1;
+            }
+
+            return tila;
         }
 
         static void HandleSMTPClient(Socket socket)
diff --git a/STMPServer/STMPServer/bin/Debug/netcoreapp3.1/STMPServer.dll b/STMPServer/STMPServer/bin/Debug/netcoreapp3.1/STMPServer.dll
index 55c81807d296d53e590866fff8442787af2bd4b3..6ee31abf9275ece9404f513b7cab5fc4c513c936 100644
Binary files a/STMPServer/STMPServer/bin/Debug/netcoreapp3.1/STMPServer.dll and b/STMPServer/STMPServer/bin/Debug/netcoreapp3.1/STMPServer.dll differ
diff --git a/STMPServer/STMPServer/bin/Debug/netcoreapp3.1/STMPServer.pdb b/STMPServer/STMPServer/bin/Debug/netcoreapp3.1/STMPServer.pdb
index 3d7bfb6f35cd2a39592bc6d6bf2efc9bc2170e14..b55ef6297e060cea8925d05aaab2518797f8e85d 100644
Binary files a/STMPServer/STMPServer/bin/Debug/netcoreapp3.1/STMPServer.pdb and b/STMPServer/STMPServer/bin/Debug/netcoreapp3.1/STMPServer.pdb differ
diff --git a/STMPServer/STMPServer/obj/Debug/netcoreapp3.1/STMPServer.csprojAssemblyReference.cache b/STMPServer/STMPServer/obj/Debug/netcoreapp3.1/STMPServer.csprojAssemblyReference.cache
index 475e9f25ddab19c98e99fb9760c6360cd0369394..a0fbfd12797557adefa2aaaacd9d5126dec64303 100644
Binary files a/STMPServer/STMPServer/obj/Debug/netcoreapp3.1/STMPServer.csprojAssemblyReference.cache and b/STMPServer/STMPServer/obj/Debug/netcoreapp3.1/STMPServer.csprojAssemblyReference.cache differ
diff --git a/STMPServer/STMPServer/obj/Debug/netcoreapp3.1/STMPServer.dll b/STMPServer/STMPServer/obj/Debug/netcoreapp3.1/STMPServer.dll
index 55c81807d296d53e590866fff8442787af2bd4b3..6ee31abf9275ece9404f513b7cab5fc4c513c936 100644
Binary files a/STMPServer/STMPServer/obj/Debug/netcoreapp3.1/STMPServer.dll and b/STMPServer/STMPServer/obj/Debug/netcoreapp3.1/STMPServer.dll differ
diff --git a/STMPServer/STMPServer/obj/Debug/netcoreapp3.1/STMPServer.pdb b/STMPServer/STMPServer/obj/Debug/netcoreapp3.1/STMPServer.pdb
index 3d7bfb6f35cd2a39592bc6d6bf2efc9bc2170e14..b55ef6297e060cea8925d05aaab2518797f8e85d 100644
Binary files a/STMPServer/STMPServer/obj/Debug/netcoreapp3.1/STMPServer.pdb and b/STMPServer/STMPServer/obj/Debug/netcoreapp3.1/STMPServer.pdb differ
diff --git a/STMPServer/STMPServer/obj/STMPServer.csproj.nuget.cache b/STMPServer/STMPServer/obj/STMPServer.csproj.nuget.cache
deleted file mode 100644
index e2206feecafe709b55cfc4696fdf142deba434be..0000000000000000000000000000000000000000
--- a/STMPServer/STMPServer/obj/STMPServer.csproj.nuget.cache
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  "version": 1,
-  "dgSpecHash": "1nI1HAaUmKGAZYvhm41fBY9PVwui+nKyh+2Ka6lR3CLCit0ppkBh+0rJWrzx4lMtQMcoy0u8EPvyvAUxYQk8GA==",
-  "success": true
-}
\ No newline at end of file
diff --git a/STMPServer/STMPServer/obj/STMPServer.csproj.nuget.dgspec.json b/STMPServer/STMPServer/obj/STMPServer.csproj.nuget.dgspec.json
index 510ab553caa499fc65bb9b96e61f272fb98edaaa..26c43ef2b70ca024d558a636f511a9a62103b093 100644
--- a/STMPServer/STMPServer/obj/STMPServer.csproj.nuget.dgspec.json
+++ b/STMPServer/STMPServer/obj/STMPServer.csproj.nuget.dgspec.json
@@ -1,32 +1,32 @@
 {
   "format": 1,
   "restore": {
-    "C:\\Kurssit\\ties323\\STMPServer\\STMPServer\\STMPServer.csproj": {}
+    "E:\\Kurssit\\ties323\\STMPServer\\STMPServer\\STMPServer.csproj": {}
   },
   "projects": {
-    "C:\\Kurssit\\ties323\\STMPServer\\STMPServer\\STMPServer.csproj": {
+    "E:\\Kurssit\\ties323\\STMPServer\\STMPServer\\STMPServer.csproj": {
       "version": "1.0.0",
       "restore": {
-        "projectUniqueName": "C:\\Kurssit\\ties323\\STMPServer\\STMPServer\\STMPServer.csproj",
+        "projectUniqueName": "E:\\Kurssit\\ties323\\STMPServer\\STMPServer\\STMPServer.csproj",
         "projectName": "STMPServer",
-        "projectPath": "C:\\Kurssit\\ties323\\STMPServer\\STMPServer\\STMPServer.csproj",
-        "packagesPath": "C:\\Users\\Joel\\.nuget\\packages\\",
-        "outputPath": "C:\\Kurssit\\ties323\\STMPServer\\STMPServer\\obj\\",
+        "projectPath": "E:\\Kurssit\\ties323\\STMPServer\\STMPServer\\STMPServer.csproj",
+        "packagesPath": "C:\\Users\\Joppe\\.nuget\\packages\\",
+        "outputPath": "E:\\Kurssit\\ties323\\STMPServer\\STMPServer\\obj\\",
         "projectStyle": "PackageReference",
-        "fallbackFolders": [
-          "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
-        ],
         "configFilePaths": [
-          "C:\\Users\\Joel\\AppData\\Roaming\\NuGet\\NuGet.Config"
+          "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": {}
           }
         },
@@ -38,11 +38,23 @@
       },
       "frameworks": {
         "netcoreapp3.1": {
+          "targetAlias": "netcoreapp3.1",
           "imports": [
-            "net461"
+            "net461",
+            "net462",
+            "net47",
+            "net471",
+            "net472",
+            "net48"
           ],
           "assetTargetFallback": true,
-          "warn": true
+          "warn": true,
+          "frameworkReferences": {
+            "Microsoft.NETCore.App": {
+              "privateAssets": "all"
+            }
+          },
+          "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.202\\RuntimeIdentifierGraph.json"
         }
       }
     }
diff --git a/STMPServer/STMPServer/obj/STMPServer.csproj.nuget.g.props b/STMPServer/STMPServer/obj/STMPServer.csproj.nuget.g.props
index b500bcae08b41c600eb2cf572b6e7ebd7d69ca5d..84f1eb192295b24b36bd8e55d6e1a138089562da 100644
--- a/STMPServer/STMPServer/obj/STMPServer.csproj.nuget.g.props
+++ b/STMPServer/STMPServer/obj/STMPServer.csproj.nuget.g.props
@@ -5,10 +5,13 @@
     <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\Joel\.nuget\packages\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder</NuGetPackageFolders>
+    <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Joppe\.nuget\packages\</NuGetPackageFolders>
     <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
-    <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.2.0</NuGetToolVersion>
+    <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>
diff --git a/STMPServer/STMPServer/obj/project.assets.json b/STMPServer/STMPServer/obj/project.assets.json
index 3c4c0a09a9976a10400871211c4f364064a5a02c..4eee0bc91d4d38c454a8d7bda3db7bbc15fe7375 100644
--- a/STMPServer/STMPServer/obj/project.assets.json
+++ b/STMPServer/STMPServer/obj/project.assets.json
@@ -8,32 +8,31 @@
     ".NETCoreApp,Version=v3.1": []
   },
   "packageFolders": {
-    "C:\\Users\\Joel\\.nuget\\packages\\": {},
-    "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {}
+    "C:\\Users\\Joppe\\.nuget\\packages\\": {}
   },
   "project": {
     "version": "1.0.0",
     "restore": {
-      "projectUniqueName": "C:\\Kurssit\\ties323\\STMPServer\\STMPServer\\STMPServer.csproj",
+      "projectUniqueName": "E:\\Kurssit\\ties323\\STMPServer\\STMPServer\\STMPServer.csproj",
       "projectName": "STMPServer",
-      "projectPath": "C:\\Kurssit\\ties323\\STMPServer\\STMPServer\\STMPServer.csproj",
-      "packagesPath": "C:\\Users\\Joel\\.nuget\\packages\\",
-      "outputPath": "C:\\Kurssit\\ties323\\STMPServer\\STMPServer\\obj\\",
+      "projectPath": "E:\\Kurssit\\ties323\\STMPServer\\STMPServer\\STMPServer.csproj",
+      "packagesPath": "C:\\Users\\Joppe\\.nuget\\packages\\",
+      "outputPath": "E:\\Kurssit\\ties323\\STMPServer\\STMPServer\\obj\\",
       "projectStyle": "PackageReference",
-      "fallbackFolders": [
-        "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
-      ],
       "configFilePaths": [
-        "C:\\Users\\Joel\\AppData\\Roaming\\NuGet\\NuGet.Config"
+        "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": {}
         }
       },
@@ -45,11 +44,23 @@
     },
     "frameworks": {
       "netcoreapp3.1": {
+        "targetAlias": "netcoreapp3.1",
         "imports": [
-          "net461"
+          "net461",
+          "net462",
+          "net47",
+          "net471",
+          "net472",
+          "net48"
         ],
         "assetTargetFallback": true,
-        "warn": true
+        "warn": true,
+        "frameworkReferences": {
+          "Microsoft.NETCore.App": {
+            "privateAssets": "all"
+          }
+        },
+        "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.202\\RuntimeIdentifierGraph.json"
       }
     }
   }