diff --git a/Light.TemporaryStreams.sln b/Light.TemporaryStreams.sln
index cc888a2..e94d64b 100644
--- a/Light.TemporaryStreams.sln
+++ b/Light.TemporaryStreams.sln
@@ -2,9 +2,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Light.TemporaryStreams", "src\Light.TemporaryStreams\Light.TemporaryStreams.csproj", "{C86E6D31-A10A-4B61-B490-5A7AC4451BA5}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Light.TemporaryStreams.Core", "src\Light.TemporaryStreams.Core\Light.TemporaryStreams.Core.csproj", "{C86E6D31-A10A-4B61-B490-5A7AC4451BA5}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Light.TemporaryStreams.Tests", "tests\Light.TemporaryStreams.Tests\Light.TemporaryStreams.Tests.csproj", "{4D6B4F48-1E4B-4ACA-9F32-829442DB5E56}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Light.TemporaryStreams.Core.Tests", "tests\Light.TemporaryStreams.Core.Tests\Light.TemporaryStreams.Core.Tests.csproj", "{4D6B4F48-1E4B-4ACA-9F32-829442DB5E56}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SolutionItems", "SolutionItems", "{73CAF5D7-5150-498F-978D-5D5D16E227FF}"
ProjectSection(SolutionItems) = preProject
diff --git a/src/Light.TemporaryStreams/FileStreamFactory.cs b/src/Light.TemporaryStreams.Core/FileStreamFactory.cs
similarity index 100%
rename from src/Light.TemporaryStreams/FileStreamFactory.cs
rename to src/Light.TemporaryStreams.Core/FileStreamFactory.cs
diff --git a/src/Light.TemporaryStreams/Hashing/CopyToHashCalculator.cs b/src/Light.TemporaryStreams.Core/Hashing/CopyToHashCalculator.cs
similarity index 100%
rename from src/Light.TemporaryStreams/Hashing/CopyToHashCalculator.cs
rename to src/Light.TemporaryStreams.Core/Hashing/CopyToHashCalculator.cs
diff --git a/src/Light.TemporaryStreams/Hashing/HashConversionMethod.cs b/src/Light.TemporaryStreams.Core/Hashing/HashConversionMethod.cs
similarity index 100%
rename from src/Light.TemporaryStreams/Hashing/HashConversionMethod.cs
rename to src/Light.TemporaryStreams.Core/Hashing/HashConversionMethod.cs
diff --git a/src/Light.TemporaryStreams/Hashing/HashingPlugin.cs b/src/Light.TemporaryStreams.Core/Hashing/HashingPlugin.cs
similarity index 100%
rename from src/Light.TemporaryStreams/Hashing/HashingPlugin.cs
rename to src/Light.TemporaryStreams.Core/Hashing/HashingPlugin.cs
diff --git a/src/Light.TemporaryStreams/ICopyToTemporaryStreamPlugin.cs b/src/Light.TemporaryStreams.Core/ICopyToTemporaryStreamPlugin.cs
similarity index 100%
rename from src/Light.TemporaryStreams/ICopyToTemporaryStreamPlugin.cs
rename to src/Light.TemporaryStreams.Core/ICopyToTemporaryStreamPlugin.cs
diff --git a/src/Light.TemporaryStreams/ITemporaryStreamService.cs b/src/Light.TemporaryStreams.Core/ITemporaryStreamService.cs
similarity index 100%
rename from src/Light.TemporaryStreams/ITemporaryStreamService.cs
rename to src/Light.TemporaryStreams.Core/ITemporaryStreamService.cs
diff --git a/src/Light.TemporaryStreams/Light.TemporaryStreams.csproj b/src/Light.TemporaryStreams.Core/Light.TemporaryStreams.Core.csproj
similarity index 82%
rename from src/Light.TemporaryStreams/Light.TemporaryStreams.csproj
rename to src/Light.TemporaryStreams.Core/Light.TemporaryStreams.Core.csproj
index 2c720f7..b96a5a5 100644
--- a/src/Light.TemporaryStreams/Light.TemporaryStreams.csproj
+++ b/src/Light.TemporaryStreams.Core/Light.TemporaryStreams.Core.csproj
@@ -3,6 +3,7 @@
true
true
+ Light.TemporaryStreams
diff --git a/src/Light.TemporaryStreams/TemporaryStream.cs b/src/Light.TemporaryStreams.Core/TemporaryStream.cs
similarity index 100%
rename from src/Light.TemporaryStreams/TemporaryStream.cs
rename to src/Light.TemporaryStreams.Core/TemporaryStream.cs
diff --git a/src/Light.TemporaryStreams/TemporaryStreamDisposeBehavior.cs b/src/Light.TemporaryStreams.Core/TemporaryStreamDisposeBehavior.cs
similarity index 100%
rename from src/Light.TemporaryStreams/TemporaryStreamDisposeBehavior.cs
rename to src/Light.TemporaryStreams.Core/TemporaryStreamDisposeBehavior.cs
diff --git a/src/Light.TemporaryStreams/TemporaryStreamErrorHandlerProvider.cs b/src/Light.TemporaryStreams.Core/TemporaryStreamErrorHandlerProvider.cs
similarity index 100%
rename from src/Light.TemporaryStreams/TemporaryStreamErrorHandlerProvider.cs
rename to src/Light.TemporaryStreams.Core/TemporaryStreamErrorHandlerProvider.cs
diff --git a/src/Light.TemporaryStreams/TemporaryStreamService.cs b/src/Light.TemporaryStreams.Core/TemporaryStreamService.cs
similarity index 100%
rename from src/Light.TemporaryStreams/TemporaryStreamService.cs
rename to src/Light.TemporaryStreams.Core/TemporaryStreamService.cs
diff --git a/src/Light.TemporaryStreams/TemporaryStreamServiceExtensions.cs b/src/Light.TemporaryStreams.Core/TemporaryStreamServiceExtensions.cs
similarity index 100%
rename from src/Light.TemporaryStreams/TemporaryStreamServiceExtensions.cs
rename to src/Light.TemporaryStreams.Core/TemporaryStreamServiceExtensions.cs
diff --git a/src/Light.TemporaryStreams/TemporaryStreamServiceOptions.cs b/src/Light.TemporaryStreams.Core/TemporaryStreamServiceOptions.cs
similarity index 100%
rename from src/Light.TemporaryStreams/TemporaryStreamServiceOptions.cs
rename to src/Light.TemporaryStreams.Core/TemporaryStreamServiceOptions.cs
diff --git a/src/Light.TemporaryStreams/packages.lock.json b/src/Light.TemporaryStreams.Core/packages.lock.json
similarity index 100%
rename from src/Light.TemporaryStreams/packages.lock.json
rename to src/Light.TemporaryStreams.Core/packages.lock.json
diff --git a/tests/Light.TemporaryStreams.Tests/ArrayAllocationTests.cs b/tests/Light.TemporaryStreams.Core.Tests/ArrayAllocationTests.cs
similarity index 98%
rename from tests/Light.TemporaryStreams.Tests/ArrayAllocationTests.cs
rename to tests/Light.TemporaryStreams.Core.Tests/ArrayAllocationTests.cs
index a6b3059..0d9d885 100644
--- a/tests/Light.TemporaryStreams.Tests/ArrayAllocationTests.cs
+++ b/tests/Light.TemporaryStreams.Core.Tests/ArrayAllocationTests.cs
@@ -2,7 +2,7 @@
using FluentAssertions;
using Xunit;
-namespace Light.TemporaryStreams.Tests;
+namespace Light.TemporaryStreams;
[Trait("Category", "Triangulation")]
public sealed class ArrayAllocationTests
diff --git a/tests/Light.TemporaryStreams.Tests/AsyncResultNullObject.cs b/tests/Light.TemporaryStreams.Core.Tests/AsyncResultNullObject.cs
similarity index 87%
rename from tests/Light.TemporaryStreams.Tests/AsyncResultNullObject.cs
rename to tests/Light.TemporaryStreams.Core.Tests/AsyncResultNullObject.cs
index b6d2378..06b3957 100644
--- a/tests/Light.TemporaryStreams.Tests/AsyncResultNullObject.cs
+++ b/tests/Light.TemporaryStreams.Core.Tests/AsyncResultNullObject.cs
@@ -1,7 +1,7 @@
using System;
using System.Threading;
-namespace Light.TemporaryStreams.Tests;
+namespace Light.TemporaryStreams;
public sealed class AsyncResultNullObject : IAsyncResult
{
diff --git a/tests/Light.TemporaryStreams.Tests/CallTracking/BaseCallTracker.cs b/tests/Light.TemporaryStreams.Core.Tests/CallTracking/BaseCallTracker.cs
similarity index 71%
rename from tests/Light.TemporaryStreams.Tests/CallTracking/BaseCallTracker.cs
rename to tests/Light.TemporaryStreams.Core.Tests/CallTracking/BaseCallTracker.cs
index f3a823b..b9860a5 100644
--- a/tests/Light.TemporaryStreams.Tests/CallTracking/BaseCallTracker.cs
+++ b/tests/Light.TemporaryStreams.Core.Tests/CallTracking/BaseCallTracker.cs
@@ -1,4 +1,4 @@
-namespace Light.TemporaryStreams.Tests.CallTracking;
+namespace Light.TemporaryStreams.CallTracking;
public abstract class BaseCallTracker
{
diff --git a/tests/Light.TemporaryStreams.Tests/CallTracking/CallTracker.cs b/tests/Light.TemporaryStreams.Core.Tests/CallTracking/CallTracker.cs
similarity index 99%
rename from tests/Light.TemporaryStreams.Tests/CallTracking/CallTracker.cs
rename to tests/Light.TemporaryStreams.Core.Tests/CallTracking/CallTracker.cs
index a498913..0736b46 100644
--- a/tests/Light.TemporaryStreams.Tests/CallTracking/CallTracker.cs
+++ b/tests/Light.TemporaryStreams.Core.Tests/CallTracking/CallTracker.cs
@@ -1,7 +1,7 @@
using System.Collections.Generic;
using FluentAssertions;
-namespace Light.TemporaryStreams.Tests.CallTracking;
+namespace Light.TemporaryStreams.CallTracking;
public sealed class CallTracker : BaseCallTracker, ICallTracker
{
diff --git a/tests/Light.TemporaryStreams.Tests/CallTracking/CallTrackers.cs b/tests/Light.TemporaryStreams.Core.Tests/CallTracking/CallTrackers.cs
similarity index 99%
rename from tests/Light.TemporaryStreams.Tests/CallTracking/CallTrackers.cs
rename to tests/Light.TemporaryStreams.Core.Tests/CallTracking/CallTrackers.cs
index 2d700c6..4773fdd 100644
--- a/tests/Light.TemporaryStreams.Tests/CallTracking/CallTrackers.cs
+++ b/tests/Light.TemporaryStreams.Core.Tests/CallTracking/CallTrackers.cs
@@ -6,7 +6,7 @@
using Light.GuardClauses;
using Xunit.Sdk;
-namespace Light.TemporaryStreams.Tests.CallTracking;
+namespace Light.TemporaryStreams.CallTracking;
public sealed class CallTrackers
{
diff --git a/tests/Light.TemporaryStreams.Tests/CallTracking/ICallTracker.cs b/tests/Light.TemporaryStreams.Core.Tests/CallTracking/ICallTracker.cs
similarity index 63%
rename from tests/Light.TemporaryStreams.Tests/CallTracking/ICallTracker.cs
rename to tests/Light.TemporaryStreams.Core.Tests/CallTracking/ICallTracker.cs
index 6a3e519..42eaff8 100644
--- a/tests/Light.TemporaryStreams.Tests/CallTracking/ICallTracker.cs
+++ b/tests/Light.TemporaryStreams.Core.Tests/CallTracking/ICallTracker.cs
@@ -1,4 +1,4 @@
-namespace Light.TemporaryStreams.Tests.CallTracking;
+namespace Light.TemporaryStreams.CallTracking;
public interface ICallTracker
{
diff --git a/tests/Light.TemporaryStreams.Tests/Light.TemporaryStreams.Tests.csproj b/tests/Light.TemporaryStreams.Core.Tests/Light.TemporaryStreams.Core.Tests.csproj
similarity index 81%
rename from tests/Light.TemporaryStreams.Tests/Light.TemporaryStreams.Tests.csproj
rename to tests/Light.TemporaryStreams.Core.Tests/Light.TemporaryStreams.Core.Tests.csproj
index 121ee71..fd61100 100644
--- a/tests/Light.TemporaryStreams.Tests/Light.TemporaryStreams.Tests.csproj
+++ b/tests/Light.TemporaryStreams.Core.Tests/Light.TemporaryStreams.Core.Tests.csproj
@@ -6,6 +6,7 @@
false
true
true
+ Light.TemporaryStreams
@@ -16,7 +17,7 @@
-
+
diff --git a/tests/Light.TemporaryStreams.Tests/StreamMock.cs b/tests/Light.TemporaryStreams.Core.Tests/StreamMock.cs
similarity index 99%
rename from tests/Light.TemporaryStreams.Tests/StreamMock.cs
rename to tests/Light.TemporaryStreams.Core.Tests/StreamMock.cs
index 168c0a4..d6f7308 100644
--- a/tests/Light.TemporaryStreams.Tests/StreamMock.cs
+++ b/tests/Light.TemporaryStreams.Core.Tests/StreamMock.cs
@@ -4,9 +4,9 @@
using System.Threading;
using System.Threading.Tasks;
using FluentAssertions;
-using Light.TemporaryStreams.Tests.CallTracking;
+using Light.TemporaryStreams.CallTracking;
-namespace Light.TemporaryStreams.Tests;
+namespace Light.TemporaryStreams;
public sealed class StreamMock : Stream
{
diff --git a/tests/Light.TemporaryStreams.Tests/TemporaryStreamForwardingTests.cs b/tests/Light.TemporaryStreams.Core.Tests/TemporaryStreamForwardingTests.cs
similarity index 99%
rename from tests/Light.TemporaryStreams.Tests/TemporaryStreamForwardingTests.cs
rename to tests/Light.TemporaryStreams.Core.Tests/TemporaryStreamForwardingTests.cs
index 3188d57..14fbdea 100644
--- a/tests/Light.TemporaryStreams.Tests/TemporaryStreamForwardingTests.cs
+++ b/tests/Light.TemporaryStreams.Core.Tests/TemporaryStreamForwardingTests.cs
@@ -5,7 +5,7 @@
using FluentAssertions;
using Xunit;
-namespace Light.TemporaryStreams.Tests;
+namespace Light.TemporaryStreams;
public sealed class TemporaryStreamForwardingTests
{
diff --git a/tests/Light.TemporaryStreams.Tests/TemporaryStreamServiceTests.cs b/tests/Light.TemporaryStreams.Core.Tests/TemporaryStreamServiceTests.cs
similarity index 99%
rename from tests/Light.TemporaryStreams.Tests/TemporaryStreamServiceTests.cs
rename to tests/Light.TemporaryStreams.Core.Tests/TemporaryStreamServiceTests.cs
index 0f1c573..f16af90 100644
--- a/tests/Light.TemporaryStreams.Tests/TemporaryStreamServiceTests.cs
+++ b/tests/Light.TemporaryStreams.Core.Tests/TemporaryStreamServiceTests.cs
@@ -4,7 +4,7 @@
using FluentAssertions;
using Xunit;
-namespace Light.TemporaryStreams.Tests;
+namespace Light.TemporaryStreams;
public static class TemporaryStreamServiceTests
{
diff --git a/tests/Light.TemporaryStreams.Tests/TemporaryStreamTests.cs b/tests/Light.TemporaryStreams.Core.Tests/TemporaryStreamTests.cs
similarity index 99%
rename from tests/Light.TemporaryStreams.Tests/TemporaryStreamTests.cs
rename to tests/Light.TemporaryStreams.Core.Tests/TemporaryStreamTests.cs
index 18080c6..1a4911e 100644
--- a/tests/Light.TemporaryStreams.Tests/TemporaryStreamTests.cs
+++ b/tests/Light.TemporaryStreams.Core.Tests/TemporaryStreamTests.cs
@@ -4,10 +4,10 @@
using System.Text;
using System.Threading.Tasks;
using FluentAssertions;
-using Light.TemporaryStreams.Tests.CallTracking;
+using Light.TemporaryStreams.CallTracking;
using Xunit;
-namespace Light.TemporaryStreams.Tests;
+namespace Light.TemporaryStreams;
public static class TemporaryStreamTests
{
diff --git a/tests/Light.TemporaryStreams.Tests/packages.lock.json b/tests/Light.TemporaryStreams.Core.Tests/packages.lock.json
similarity index 99%
rename from tests/Light.TemporaryStreams.Tests/packages.lock.json
rename to tests/Light.TemporaryStreams.Core.Tests/packages.lock.json
index 8eca185..9845a03 100644
--- a/tests/Light.TemporaryStreams.Tests/packages.lock.json
+++ b/tests/Light.TemporaryStreams.Core.Tests/packages.lock.json
@@ -208,7 +208,7 @@
"xunit.v3.runner.common": "[2.0.3]"
}
},
- "light.temporarystreams": {
+ "light.temporarystreams.core": {
"type": "Project",
"dependencies": {
"Light.GuardClauses": "[13.0.0, )"
diff --git a/tests/Light.TemporaryStreams.Tests/xunit.runner.json b/tests/Light.TemporaryStreams.Core.Tests/xunit.runner.json
similarity index 100%
rename from tests/Light.TemporaryStreams.Tests/xunit.runner.json
rename to tests/Light.TemporaryStreams.Core.Tests/xunit.runner.json