diff --git a/ln.http.sln b/ln.http.sln
new file mode 100644
index 0000000..df37118
--- /dev/null
+++ b/ln.http.sln
@@ -0,0 +1,48 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26124.0
+MinimumVisualStudioVersion = 15.0.26124.0
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ln.http", "ln.http\ln.http.csproj", "{A6CA4327-4339-4B67-AD43-6E54A0EECC2D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ln.http.tests", "ln.http.tests\ln.http.tests.csproj", "{476CD242-9329-449C-95E4-A5317635B223}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {A6CA4327-4339-4B67-AD43-6E54A0EECC2D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A6CA4327-4339-4B67-AD43-6E54A0EECC2D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A6CA4327-4339-4B67-AD43-6E54A0EECC2D}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {A6CA4327-4339-4B67-AD43-6E54A0EECC2D}.Debug|x64.Build.0 = Debug|Any CPU
+ {A6CA4327-4339-4B67-AD43-6E54A0EECC2D}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {A6CA4327-4339-4B67-AD43-6E54A0EECC2D}.Debug|x86.Build.0 = Debug|Any CPU
+ {A6CA4327-4339-4B67-AD43-6E54A0EECC2D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A6CA4327-4339-4B67-AD43-6E54A0EECC2D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A6CA4327-4339-4B67-AD43-6E54A0EECC2D}.Release|x64.ActiveCfg = Release|Any CPU
+ {A6CA4327-4339-4B67-AD43-6E54A0EECC2D}.Release|x64.Build.0 = Release|Any CPU
+ {A6CA4327-4339-4B67-AD43-6E54A0EECC2D}.Release|x86.ActiveCfg = Release|Any CPU
+ {A6CA4327-4339-4B67-AD43-6E54A0EECC2D}.Release|x86.Build.0 = Release|Any CPU
+ {476CD242-9329-449C-95E4-A5317635B223}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {476CD242-9329-449C-95E4-A5317635B223}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {476CD242-9329-449C-95E4-A5317635B223}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {476CD242-9329-449C-95E4-A5317635B223}.Debug|x64.Build.0 = Debug|Any CPU
+ {476CD242-9329-449C-95E4-A5317635B223}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {476CD242-9329-449C-95E4-A5317635B223}.Debug|x86.Build.0 = Debug|Any CPU
+ {476CD242-9329-449C-95E4-A5317635B223}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {476CD242-9329-449C-95E4-A5317635B223}.Release|Any CPU.Build.0 = Release|Any CPU
+ {476CD242-9329-449C-95E4-A5317635B223}.Release|x64.ActiveCfg = Release|Any CPU
+ {476CD242-9329-449C-95E4-A5317635B223}.Release|x64.Build.0 = Release|Any CPU
+ {476CD242-9329-449C-95E4-A5317635B223}.Release|x86.ActiveCfg = Release|Any CPU
+ {476CD242-9329-449C-95E4-A5317635B223}.Release|x86.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/ln.http.tests/UnitTest1.cs b/ln.http.tests/UnitTest1.cs
new file mode 100644
index 0000000..32f6467
--- /dev/null
+++ b/ln.http.tests/UnitTest1.cs
@@ -0,0 +1,18 @@
+using NUnit.Framework;
+
+namespace ln.http.tests
+{
+ public class Tests
+ {
+ [SetUp]
+ public void Setup()
+ {
+ }
+
+ [Test]
+ public void Test1()
+ {
+ Assert.Pass();
+ }
+ }
+}
\ No newline at end of file
diff --git a/ln.http.tests/ln.http.tests.csproj b/ln.http.tests/ln.http.tests.csproj
new file mode 100644
index 0000000..bb8d64c
--- /dev/null
+++ b/ln.http.tests/ln.http.tests.csproj
@@ -0,0 +1,15 @@
+
+
+
+ netcoreapp3.1
+
+ false
+
+
+
+
+
+
+
+
+
diff --git a/AuthenticationProvider.cs b/ln.http/AuthenticationProvider.cs
similarity index 100%
rename from AuthenticationProvider.cs
rename to ln.http/AuthenticationProvider.cs
diff --git a/AuthorizationMask.cs b/ln.http/AuthorizationMask.cs
similarity index 100%
rename from AuthorizationMask.cs
rename to ln.http/AuthorizationMask.cs
diff --git a/HTTPServer.cs b/ln.http/HTTPServer.cs
similarity index 100%
rename from HTTPServer.cs
rename to ln.http/HTTPServer.cs
diff --git a/HTTPServerConnection.cs b/ln.http/HTTPServerConnection.cs
similarity index 100%
rename from HTTPServerConnection.cs
rename to ln.http/HTTPServerConnection.cs
diff --git a/HttpCookie.cs b/ln.http/HttpCookie.cs
similarity index 100%
rename from HttpCookie.cs
rename to ln.http/HttpCookie.cs
diff --git a/HttpHeader.cs b/ln.http/HttpHeader.cs
similarity index 100%
rename from HttpHeader.cs
rename to ln.http/HttpHeader.cs
diff --git a/HttpHeaders.cs b/ln.http/HttpHeaders.cs
similarity index 100%
rename from HttpHeaders.cs
rename to ln.http/HttpHeaders.cs
diff --git a/HttpReader.cs b/ln.http/HttpReader.cs
similarity index 100%
rename from HttpReader.cs
rename to ln.http/HttpReader.cs
diff --git a/HttpRequest.cs b/ln.http/HttpRequest.cs
similarity index 100%
rename from HttpRequest.cs
rename to ln.http/HttpRequest.cs
diff --git a/HttpResponse.cs b/ln.http/HttpResponse.cs
similarity index 100%
rename from HttpResponse.cs
rename to ln.http/HttpResponse.cs
diff --git a/HttpRouter.cs b/ln.http/HttpRouter.cs
similarity index 100%
rename from HttpRouter.cs
rename to ln.http/HttpRouter.cs
diff --git a/HttpStatusCodes.cs b/ln.http/HttpStatusCodes.cs
similarity index 100%
rename from HttpStatusCodes.cs
rename to ln.http/HttpStatusCodes.cs
diff --git a/HttpUser.cs b/ln.http/HttpUser.cs
similarity index 100%
rename from HttpUser.cs
rename to ln.http/HttpUser.cs
diff --git a/IHTTPResource.cs b/ln.http/IHTTPResource.cs
similarity index 100%
rename from IHTTPResource.cs
rename to ln.http/IHTTPResource.cs
diff --git a/IHttpRouter.cs b/ln.http/IHttpRouter.cs
similarity index 100%
rename from IHttpRouter.cs
rename to ln.http/IHttpRouter.cs
diff --git a/QueryStringParameters.cs b/ln.http/QueryStringParameters.cs
similarity index 100%
rename from QueryStringParameters.cs
rename to ln.http/QueryStringParameters.cs
diff --git a/cert/CertContainer.cs b/ln.http/cert/CertContainer.cs
similarity index 100%
rename from cert/CertContainer.cs
rename to ln.http/cert/CertContainer.cs
diff --git a/client/CookieContainer.cs b/ln.http/client/CookieContainer.cs
similarity index 100%
rename from client/CookieContainer.cs
rename to ln.http/client/CookieContainer.cs
diff --git a/client/HttpClient.cs b/ln.http/client/HttpClient.cs
similarity index 100%
rename from client/HttpClient.cs
rename to ln.http/client/HttpClient.cs
diff --git a/client/HttpClientRequest.cs b/ln.http/client/HttpClientRequest.cs
similarity index 100%
rename from client/HttpClientRequest.cs
rename to ln.http/client/HttpClientRequest.cs
diff --git a/client/HttpClientResponse.cs b/ln.http/client/HttpClientResponse.cs
similarity index 100%
rename from client/HttpClientResponse.cs
rename to ln.http/client/HttpClientResponse.cs
diff --git a/connections/Connection.cs b/ln.http/connections/Connection.cs
similarity index 100%
rename from connections/Connection.cs
rename to ln.http/connections/Connection.cs
diff --git a/connections/HttpConnection.cs b/ln.http/connections/HttpConnection.cs
similarity index 100%
rename from connections/HttpConnection.cs
rename to ln.http/connections/HttpConnection.cs
diff --git a/connections/HttpsConnection.cs b/ln.http/connections/HttpsConnection.cs
similarity index 100%
rename from connections/HttpsConnection.cs
rename to ln.http/connections/HttpsConnection.cs
diff --git a/exceptions/BadRequestException.cs b/ln.http/exceptions/BadRequestException.cs
similarity index 100%
rename from exceptions/BadRequestException.cs
rename to ln.http/exceptions/BadRequestException.cs
diff --git a/exceptions/DisposeConnectionException.cs b/ln.http/exceptions/DisposeConnectionException.cs
similarity index 100%
rename from exceptions/DisposeConnectionException.cs
rename to ln.http/exceptions/DisposeConnectionException.cs
diff --git a/exceptions/HttpException.cs b/ln.http/exceptions/HttpException.cs
similarity index 100%
rename from exceptions/HttpException.cs
rename to ln.http/exceptions/HttpException.cs
diff --git a/exceptions/IllegalRequestException.cs b/ln.http/exceptions/IllegalRequestException.cs
similarity index 100%
rename from exceptions/IllegalRequestException.cs
rename to ln.http/exceptions/IllegalRequestException.cs
diff --git a/exceptions/MethodNotAllowedException.cs b/ln.http/exceptions/MethodNotAllowedException.cs
similarity index 100%
rename from exceptions/MethodNotAllowedException.cs
rename to ln.http/exceptions/MethodNotAllowedException.cs
diff --git a/exceptions/ResourceNotFoundException.cs b/ln.http/exceptions/ResourceNotFoundException.cs
similarity index 100%
rename from exceptions/ResourceNotFoundException.cs
rename to ln.http/exceptions/ResourceNotFoundException.cs
diff --git a/exceptions/UnsupportedMediaTypeException.cs b/ln.http/exceptions/UnsupportedMediaTypeException.cs
similarity index 100%
rename from exceptions/UnsupportedMediaTypeException.cs
rename to ln.http/exceptions/UnsupportedMediaTypeException.cs
diff --git a/io/UnbufferedStreamreader.cs b/ln.http/io/UnbufferedStreamreader.cs
similarity index 100%
rename from io/UnbufferedStreamreader.cs
rename to ln.http/io/UnbufferedStreamreader.cs
diff --git a/listener/HttpListener.cs b/ln.http/listener/HttpListener.cs
similarity index 100%
rename from listener/HttpListener.cs
rename to ln.http/listener/HttpListener.cs
diff --git a/listener/HttpsListener.cs b/ln.http/listener/HttpsListener.cs
similarity index 100%
rename from listener/HttpsListener.cs
rename to ln.http/listener/HttpsListener.cs
diff --git a/listener/Listener.cs b/ln.http/listener/Listener.cs
similarity index 100%
rename from listener/Listener.cs
rename to ln.http/listener/Listener.cs
diff --git a/ln.http.csproj b/ln.http/ln.http.csproj
similarity index 59%
rename from ln.http.csproj
rename to ln.http/ln.http.csproj
index 91e4233..42a080b 100644
--- a/ln.http.csproj
+++ b/ln.http/ln.http.csproj
@@ -14,11 +14,11 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/message/Header.cs b/ln.http/message/Header.cs
similarity index 100%
rename from message/Header.cs
rename to ln.http/message/Header.cs
diff --git a/message/HeaderContainer.cs b/ln.http/message/HeaderContainer.cs
similarity index 100%
rename from message/HeaderContainer.cs
rename to ln.http/message/HeaderContainer.cs
diff --git a/message/Message.cs b/ln.http/message/Message.cs
similarity index 100%
rename from message/Message.cs
rename to ln.http/message/Message.cs
diff --git a/message/MimeTypeMap.cs b/ln.http/message/MimeTypeMap.cs
similarity index 100%
rename from message/MimeTypeMap.cs
rename to ln.http/message/MimeTypeMap.cs
diff --git a/message/TokenReader.cs b/ln.http/message/TokenReader.cs
similarity index 100%
rename from message/TokenReader.cs
rename to ln.http/message/TokenReader.cs
diff --git a/message/parser/HTTP.cs b/ln.http/message/parser/HTTP.cs
similarity index 100%
rename from message/parser/HTTP.cs
rename to ln.http/message/parser/HTTP.cs
diff --git a/message/parser/MIME.cs b/ln.http/message/parser/MIME.cs
similarity index 100%
rename from message/parser/MIME.cs
rename to ln.http/message/parser/MIME.cs
diff --git a/mime/MimeTypeMap.cs b/ln.http/mime/MimeTypeMap.cs
similarity index 100%
rename from mime/MimeTypeMap.cs
rename to ln.http/mime/MimeTypeMap.cs
diff --git a/rest/CRUDObjectContainer.RegisteredType.cs b/ln.http/rest/CRUDObjectContainer.RegisteredType.cs
similarity index 100%
rename from rest/CRUDObjectContainer.RegisteredType.cs
rename to ln.http/rest/CRUDObjectContainer.RegisteredType.cs
diff --git a/rest/CRUDObjectContainer.cs b/ln.http/rest/CRUDObjectContainer.cs
similarity index 100%
rename from rest/CRUDObjectContainer.cs
rename to ln.http/rest/CRUDObjectContainer.cs
diff --git a/rest/FieldDescriptor.cs b/ln.http/rest/FieldDescriptor.cs
similarity index 100%
rename from rest/FieldDescriptor.cs
rename to ln.http/rest/FieldDescriptor.cs
diff --git a/rest/FieldValueList.cs b/ln.http/rest/FieldValueList.cs
similarity index 100%
rename from rest/FieldValueList.cs
rename to ln.http/rest/FieldValueList.cs
diff --git a/rest/RestAPIAdapter.cs b/ln.http/rest/RestAPIAdapter.cs
similarity index 100%
rename from rest/RestAPIAdapter.cs
rename to ln.http/rest/RestAPIAdapter.cs
diff --git a/router/FileRouter.cs b/ln.http/router/FileRouter.cs
similarity index 100%
rename from router/FileRouter.cs
rename to ln.http/router/FileRouter.cs
diff --git a/router/HttpRoutingContext.cs b/ln.http/router/HttpRoutingContext.cs
similarity index 100%
rename from router/HttpRoutingContext.cs
rename to ln.http/router/HttpRoutingContext.cs
diff --git a/router/LoggingRouter.cs b/ln.http/router/LoggingRouter.cs
similarity index 100%
rename from router/LoggingRouter.cs
rename to ln.http/router/LoggingRouter.cs
diff --git a/router/RouterTarget.cs b/ln.http/router/RouterTarget.cs
similarity index 100%
rename from router/RouterTarget.cs
rename to ln.http/router/RouterTarget.cs
diff --git a/router/SimpleRouter.cs b/ln.http/router/SimpleRouter.cs
similarity index 100%
rename from router/SimpleRouter.cs
rename to ln.http/router/SimpleRouter.cs
diff --git a/router/StaticRouter.cs b/ln.http/router/StaticRouter.cs
similarity index 100%
rename from router/StaticRouter.cs
rename to ln.http/router/StaticRouter.cs
diff --git a/router/VirtualHostRouter.cs b/ln.http/router/VirtualHostRouter.cs
similarity index 100%
rename from router/VirtualHostRouter.cs
rename to ln.http/router/VirtualHostRouter.cs
diff --git a/router/WebsocketRouter.cs b/ln.http/router/WebsocketRouter.cs
similarity index 100%
rename from router/WebsocketRouter.cs
rename to ln.http/router/WebsocketRouter.cs
diff --git a/session/Session.cs b/ln.http/session/Session.cs
similarity index 100%
rename from session/Session.cs
rename to ln.http/session/Session.cs
diff --git a/session/SessionCache.cs b/ln.http/session/SessionCache.cs
similarity index 100%
rename from session/SessionCache.cs
rename to ln.http/session/SessionCache.cs
diff --git a/websocket/WebSocket.cs b/ln.http/websocket/WebSocket.cs
similarity index 100%
rename from websocket/WebSocket.cs
rename to ln.http/websocket/WebSocket.cs
diff --git a/websocket/WebSocketEventArgs.cs b/ln.http/websocket/WebSocketEventArgs.cs
similarity index 100%
rename from websocket/WebSocketEventArgs.cs
rename to ln.http/websocket/WebSocketEventArgs.cs
diff --git a/websocket/WebSocketFrame.cs b/ln.http/websocket/WebSocketFrame.cs
similarity index 100%
rename from websocket/WebSocketFrame.cs
rename to ln.http/websocket/WebSocketFrame.cs