diff --git a/ln.templates.sln b/ln.templates.sln
new file mode 100644
index 0000000..bef4b5c
--- /dev/null
+++ b/ln.templates.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.templates", "ln.templates\ln.templates.csproj", "{72E98F65-4EC3-49DB-B7A0-5D8B7052E4B0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ln.templates.test", "ln.templates.test\ln.templates.test.csproj", "{36593773-B517-4B62-BAD2-8AA632AA159E}"
+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
+ {72E98F65-4EC3-49DB-B7A0-5D8B7052E4B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {72E98F65-4EC3-49DB-B7A0-5D8B7052E4B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {72E98F65-4EC3-49DB-B7A0-5D8B7052E4B0}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {72E98F65-4EC3-49DB-B7A0-5D8B7052E4B0}.Debug|x64.Build.0 = Debug|Any CPU
+ {72E98F65-4EC3-49DB-B7A0-5D8B7052E4B0}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {72E98F65-4EC3-49DB-B7A0-5D8B7052E4B0}.Debug|x86.Build.0 = Debug|Any CPU
+ {72E98F65-4EC3-49DB-B7A0-5D8B7052E4B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {72E98F65-4EC3-49DB-B7A0-5D8B7052E4B0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {72E98F65-4EC3-49DB-B7A0-5D8B7052E4B0}.Release|x64.ActiveCfg = Release|Any CPU
+ {72E98F65-4EC3-49DB-B7A0-5D8B7052E4B0}.Release|x64.Build.0 = Release|Any CPU
+ {72E98F65-4EC3-49DB-B7A0-5D8B7052E4B0}.Release|x86.ActiveCfg = Release|Any CPU
+ {72E98F65-4EC3-49DB-B7A0-5D8B7052E4B0}.Release|x86.Build.0 = Release|Any CPU
+ {36593773-B517-4B62-BAD2-8AA632AA159E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {36593773-B517-4B62-BAD2-8AA632AA159E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {36593773-B517-4B62-BAD2-8AA632AA159E}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {36593773-B517-4B62-BAD2-8AA632AA159E}.Debug|x64.Build.0 = Debug|Any CPU
+ {36593773-B517-4B62-BAD2-8AA632AA159E}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {36593773-B517-4B62-BAD2-8AA632AA159E}.Debug|x86.Build.0 = Debug|Any CPU
+ {36593773-B517-4B62-BAD2-8AA632AA159E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {36593773-B517-4B62-BAD2-8AA632AA159E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {36593773-B517-4B62-BAD2-8AA632AA159E}.Release|x64.ActiveCfg = Release|Any CPU
+ {36593773-B517-4B62-BAD2-8AA632AA159E}.Release|x64.Build.0 = Release|Any CPU
+ {36593773-B517-4B62-BAD2-8AA632AA159E}.Release|x86.ActiveCfg = Release|Any CPU
+ {36593773-B517-4B62-BAD2-8AA632AA159E}.Release|x86.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/Expression.cs b/ln.templates/Expression.cs
similarity index 100%
rename from Expression.cs
rename to ln.templates/Expression.cs
diff --git a/FormContext.cs b/ln.templates/FormContext.cs
similarity index 100%
rename from FormContext.cs
rename to ln.templates/FormContext.cs
diff --git a/FormElement.cs b/ln.templates/FormElement.cs
similarity index 100%
rename from FormElement.cs
rename to ln.templates/FormElement.cs
diff --git a/Template.cs b/ln.templates/Template.cs
similarity index 100%
rename from Template.cs
rename to ln.templates/Template.cs
diff --git a/TemplateProvider.cs b/ln.templates/TemplateProvider.cs
similarity index 100%
rename from TemplateProvider.cs
rename to ln.templates/TemplateProvider.cs
diff --git a/TemplateReader.cs b/ln.templates/TemplateReader.cs
similarity index 100%
rename from TemplateReader.cs
rename to ln.templates/TemplateReader.cs
diff --git a/elements/Conditionals.cs b/ln.templates/elements/Conditionals.cs
similarity index 100%
rename from elements/Conditionals.cs
rename to ln.templates/elements/Conditionals.cs
diff --git a/elements/Element.cs b/ln.templates/elements/Element.cs
similarity index 100%
rename from elements/Element.cs
rename to ln.templates/elements/Element.cs
diff --git a/elements/IncludeElement.cs b/ln.templates/elements/IncludeElement.cs
similarity index 100%
rename from elements/IncludeElement.cs
rename to ln.templates/elements/IncludeElement.cs
diff --git a/html/DocumentElement.cs b/ln.templates/html/DocumentElement.cs
similarity index 100%
rename from html/DocumentElement.cs
rename to ln.templates/html/DocumentElement.cs
diff --git a/html/Element.cs b/ln.templates/html/Element.cs
similarity index 100%
rename from html/Element.cs
rename to ln.templates/html/Element.cs
diff --git a/html/ElementReader.cs b/ln.templates/html/ElementReader.cs
similarity index 100%
rename from html/ElementReader.cs
rename to ln.templates/html/ElementReader.cs
diff --git a/html/ExpressionElement.cs b/ln.templates/html/ExpressionElement.cs
similarity index 100%
rename from html/ExpressionElement.cs
rename to ln.templates/html/ExpressionElement.cs
diff --git a/html/FileSystemTemplateSource.cs b/ln.templates/html/FileSystemTemplateSource.cs
similarity index 100%
rename from html/FileSystemTemplateSource.cs
rename to ln.templates/html/FileSystemTemplateSource.cs
diff --git a/html/HtmlReader.cs b/ln.templates/html/HtmlReader.cs
similarity index 100%
rename from html/HtmlReader.cs
rename to ln.templates/html/HtmlReader.cs
diff --git a/html/ITemplateSource.cs b/ln.templates/html/ITemplateSource.cs
similarity index 100%
rename from html/ITemplateSource.cs
rename to ln.templates/html/ITemplateSource.cs
diff --git a/html/RenderContext.cs b/ln.templates/html/RenderContext.cs
similarity index 100%
rename from html/RenderContext.cs
rename to ln.templates/html/RenderContext.cs
diff --git a/html/TemplateDocument.cs b/ln.templates/html/TemplateDocument.cs
similarity index 100%
rename from html/TemplateDocument.cs
rename to ln.templates/html/TemplateDocument.cs
diff --git a/html/TemplateElement.cs b/ln.templates/html/TemplateElement.cs
similarity index 100%
rename from html/TemplateElement.cs
rename to ln.templates/html/TemplateElement.cs
diff --git a/html/TemplateReader.cs b/ln.templates/html/TemplateReader.cs
similarity index 100%
rename from html/TemplateReader.cs
rename to ln.templates/html/TemplateReader.cs
diff --git a/html/TextElement.cs b/ln.templates/html/TextElement.cs
similarity index 100%
rename from html/TextElement.cs
rename to ln.templates/html/TextElement.cs
diff --git a/ln.templates.csproj b/ln.templates/ln.templates.csproj
similarity index 56%
rename from ln.templates.csproj
rename to ln.templates/ln.templates.csproj
index 21463e2..2305306 100644
--- a/ln.templates.csproj
+++ b/ln.templates/ln.templates.csproj
@@ -3,6 +3,14 @@
netcoreapp3.1
+
+ 0.1.0
+ Harald Wolff-Thobaben
+ l--n.de
+ A simple templating system
+ (c) 2020 Harald Wolff-Thobaben
+ templating template
+
diff --git a/script/IScriptContext.cs b/ln.templates/script/IScriptContext.cs
similarity index 100%
rename from script/IScriptContext.cs
rename to ln.templates/script/IScriptContext.cs
diff --git a/script/NewExpression.cs b/ln.templates/script/NewExpression.cs
similarity index 100%
rename from script/NewExpression.cs
rename to ln.templates/script/NewExpression.cs
diff --git a/streams/CharStream.cs b/ln.templates/streams/CharStream.cs
similarity index 100%
rename from streams/CharStream.cs
rename to ln.templates/streams/CharStream.cs
diff --git a/streams/PeekableStream.cs b/ln.templates/streams/PeekableStream.cs
similarity index 100%
rename from streams/PeekableStream.cs
rename to ln.templates/streams/PeekableStream.cs