diff --git a/README.md b/README.md
new file mode 100644
index 0000000..38dc904
--- /dev/null
+++ b/README.md
@@ -0,0 +1,27 @@
+# SQLJSONReader
+An extension to read JSON from SQL server off of a SQLCommand to get data. This package is in Nuget as [SQLJsonReader](https://www.nuget.org/packages/SQLJSONReader/)
+
+Usage, include using `SQLJSON.Extensions;` for the use and addition of `ExecuteJsonReaderAsync` and `ExecuteJsonReader` to read JSON 
+from SQL Server after a stored procedure call returns JSON using the `for JSON`.
+
+```
+string result;
+
+using (SqlConnection conn = new SqlConnection(connection))
+{
+    conn.Open();
+
+    using (var cmd = new SqlCommand(sproc, conn) { CommandType = CommandType.StoredProcedure, 
+                                                   CommandTimeout = 600 })
+    {
+        if (parameters != null)
+            cmd.Parameters.AddRange(parameters);
+
+        var reader = await cmd.ExecuteJsonReaderAsync();
+
+        result = await reader.ReadAllAsync();
+    }
+}
+```
+
+See also [Json-Orm](https://www.nuget.org/packages/JSON-ORM/) Nuget Package which uses this package to process its SQL Server derived json into models.
diff --git a/SQLJSONReader.sln b/SQLJSONReader.sln
index b5fb79b..ce7c0e5 100644
--- a/SQLJSONReader.sln
+++ b/SQLJSONReader.sln
@@ -1,25 +1,25 @@
-﻿
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.28606.126
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLJSONReader", "SQLJSONReader\SQLJSONReader.csproj", "{1A694B19-AA76-410D-8F46-A410176E8387}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Any CPU = Debug|Any CPU
-		Release|Any CPU = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{1A694B19-AA76-410D-8F46-A410176E8387}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{1A694B19-AA76-410D-8F46-A410176E8387}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{1A694B19-AA76-410D-8F46-A410176E8387}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{1A694B19-AA76-410D-8F46-A410176E8387}.Release|Any CPU.Build.0 = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-		SolutionGuid = {2D2E805D-DA9E-4CE1-AF6B-6928EB786475}
-	EndGlobalSection
-EndGlobal
+﻿
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.2.32210.308
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SQLJSONReader", "SQLJSONReader\SQLJSONReader.csproj", "{1A694B19-AA76-410D-8F46-A410176E8387}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{1A694B19-AA76-410D-8F46-A410176E8387}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{1A694B19-AA76-410D-8F46-A410176E8387}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{1A694B19-AA76-410D-8F46-A410176E8387}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{1A694B19-AA76-410D-8F46-A410176E8387}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {2D2E805D-DA9E-4CE1-AF6B-6928EB786475}
+	EndGlobalSection
+EndGlobal
diff --git a/SQLJSONReader/JsonExtensions.cs b/SQLJSONReader/JsonExtensions.cs
new file mode 100644
index 0000000..7c0fac7
--- /dev/null
+++ b/SQLJSONReader/JsonExtensions.cs
@@ -0,0 +1,26 @@
+﻿using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Text.Json;
+using System.Threading.Tasks;
+
+namespace SQLJSONReader
+{
+    public static class JsonExtensions
+    {
+        public static string ToJsonString(this JsonDocument jdoc)
+        {
+            using (var stream = new MemoryStream())
+            {
+                Utf8JsonWriter writer = new Utf8JsonWriter(stream, new JsonWriterOptions { Indented = true });
+                jdoc.WriteTo(writer);
+                writer.Flush();
+                return Encoding.UTF8.GetString(stream.ToArray());
+            }
+        }
+   
+
+    }
+}
diff --git a/SQLJSONReader/README.md b/SQLJSONReader/README.md
new file mode 100644
index 0000000..9d9203c
--- /dev/null
+++ b/SQLJSONReader/README.md
@@ -0,0 +1,38 @@
+﻿# SQLJSONReader
+An extension to read JSON from SQL server off of a SQLCommand to get data. This package is in Nuget as [SQLJsonReader](https://www.nuget.org/packages/SQLJSONReader/)
+
+Usage, include using `SQLJSON.Extensions;` for the use and addition of `ExecuteJsonReaderAsync` and `ExecuteJsonReader` to read JSON 
+from SQL Server after a stored procedure call returns JSON using the `for JSON`.
+
+```
+string result;
+
+using (SqlConnection conn = new SqlConnection(connection))
+{
+    conn.Open();
+
+    using (var cmd = new SqlCommand(sproc, conn) { CommandType = CommandType.StoredProcedure, CommandTimeout = 600 })
+    {
+        if (parameters != null)
+            cmd.Parameters.AddRange(parameters);
+
+        var reader = await cmd.ExecuteJsonReaderAsync();
+
+        result = await reader.ReadAllAsync();
+    }
+}
+```
+
+---
+
+See also [Json-Orm](https://www.nuget.org/packages/JSON-ORM/) Nuget Package which uses this package to process its SQL Server derived json into models.
+
+Note with Json-Orm, the above code can be distilled to
+
+```
+var connectionStr = @"Data Source=...";
+
+var jdb = new JsonOrmDatabase(connectionStr);
+
+string raw = jdb.GetRawSQL("[dbo].[GetMyDataInJson]");
+```
\ No newline at end of file
diff --git a/SQLJSONReader/SQLExtensions.cs b/SQLJSONReader/SQLExtensions.cs
index 6e02c1a..6b8c69f 100644
--- a/SQLJSONReader/SQLExtensions.cs
+++ b/SQLJSONReader/SQLExtensions.cs
@@ -1,136 +1,144 @@
-﻿
-using System.Text;
-using System.Threading.Tasks;
-using System.Data.SqlClient;
-using Newtonsoft.Json;
-
-namespace SQLJSON.Extensions
-{
-    public static class SQLExtensions
-    {
-        /// <summary>
-        /// Microsoft doesn't handle JSON well, it wants to use XML methods which then retrieve
-        /// the JSON. Sometimes the JSON has characters in it which 
-        /// </summary>
-        public static SqlJSONReader ExecuteJsonReader(this SqlCommand cmd)
-        {
-            var rdr = cmd.ExecuteReader();
-            return new SqlJSONReader(rdr);
-        }
-
-        public static async Task<SqlJSONReader> ExecuteJsonReaderAsync(this SqlCommand cmd)
-        {
-            var rdr = await cmd.ExecuteReaderAsync();
-            return new SqlJSONReader(rdr);
-        }
-
-        public class SqlJSONReader : System.IO.TextReader
-        {
-            private SqlDataReader SqlReader { get; set; }
-            private string CurrentLine { get; set; }
-            private int CurrentPostion { get; set; }
-
-            public SqlJSONReader(SqlDataReader rdr)
-            {
-                CurrentLine = "";
-                CurrentPostion = 0;
-                this.SqlReader = rdr;
-            }
-            public override int Peek()
-            {
-                return GetChar(false);
-            }
-
-            public async Task<int> PeekAsync()
-            {
-                return await GetCharAsync(false);
-            }
-
-            public override int Read()
-            {
-                return GetChar(true);
-            }
-
-            public async Task<int> ReadAsync()
-            {
-                return await GetCharAsync(true);
-            }
-
-            public int GetChar(bool Advance)
-            {
-                while (CurrentLine.Length == CurrentPostion)
-                {
-                    if (!SqlReader.Read())
-                    {
-                        return -1;
-                    }
-                    CurrentLine = SqlReader.GetString(0);
-                    CurrentPostion = 0;
-                }
-                var rv = CurrentLine[CurrentPostion];
-                if (Advance)
-                    CurrentPostion += 1;
-
-                return rv;
-            }
-
-            public async Task<int> GetCharAsync(bool Advance)
-            {
-                while (CurrentLine.Length == CurrentPostion)
-                {
-                    if ((await SqlReader.ReadAsync()) == false)
-                    {
-                        return -1;
-                    }
-                    CurrentLine = SqlReader.GetString(0);
-                    CurrentPostion = 0;
-                }
-                var rv = CurrentLine[CurrentPostion];
-                if (Advance)
-                    CurrentPostion += 1;
-
-                return rv;
-            }
-
-            public string ReadAll()
-            {
-                var sbResult = new StringBuilder();
-
-                if (SqlReader.HasRows)
-                {
-                    while (SqlReader.Read())
-                        sbResult.Append(SqlReader.GetString(0));
-
-                }
-                else
-                    return string.Empty;
-
-                // Clean up any JSON escapes before returning
-                return string.IsNullOrWhiteSpace(sbResult.ToString()) ? string.Empty : JsonConvert.DeserializeObject(sbResult.ToString()).ToString();
-            }
-
-            public async Task<string> ReadAllAsync()
-            {
-                var sbResult = new StringBuilder();
-
-                if (SqlReader.HasRows)
-                {
-                    while (await SqlReader.ReadAsync())
-                        sbResult.Append(SqlReader.GetString(0));
-
-                }
-                else
-                    return string.Empty;
-
-                // Clean up any JSON escapes before returning
-                return string.IsNullOrWhiteSpace(sbResult.ToString()) ? string.Empty : JsonConvert.DeserializeObject(sbResult.ToString()).ToString();
-            }
-
-            public override void Close()
-            {
-                SqlReader.Close();
-            }
-        }
-
-    }
-}
+﻿
+using System.Text;
+using System.Threading.Tasks;
+using System.Data.SqlClient;
+using System.Text.Json;
+using SQLJSONReader;
+
+namespace SQLJSON.Extensions
+{
+    public static class SQLExtensions
+    {
+        /// <summary>
+        /// Microsoft doesn't handle JSON well, it wants to use XML methods which then retrieve
+        /// the JSON. Sometimes the JSON has characters in it which 
+        /// </summary>
+        public static SqlJSONReader ExecuteJsonReader(this SqlCommand cmd)
+            => new SqlJSONReader(cmd.ExecuteReader());
+
+        public static async Task<SqlJSONReader> ExecuteJsonReaderAsync(this SqlCommand cmd)
+            => new SqlJSONReader( await cmd.ExecuteReaderAsync());
+
+        public class SqlJSONReader : System.IO.TextReader
+        {
+            private SqlDataReader SqlReader { get; set; }
+            private string CurrentLine { get; set; }
+            private int CurrentPostion { get; set; }
+
+            public SqlJSONReader(SqlDataReader rdr)
+            {
+                CurrentLine = "";
+                CurrentPostion = 0;
+                this.SqlReader = rdr;
+            }
+            
+            public override int Peek() => GetChar(false);
+
+            public async Task<int> PeekAsync() => await GetCharAsync(false);
+            
+            public override int Read() => GetChar(true);
+
+            public async Task<int> ReadAsync() => await GetCharAsync(true);
+
+            public int GetChar(bool Advance)
+            {
+                while (CurrentLine.Length == CurrentPostion)
+                {
+                    if (!SqlReader.Read())
+                    {
+                        return -1;
+                    }
+                    CurrentLine = SqlReader.GetString(0);
+                    CurrentPostion = 0;
+                }
+                var rv = CurrentLine[CurrentPostion];
+                if (Advance)
+                    CurrentPostion += 1;
+
+                return rv;
+            }
+
+            public async Task<int> GetCharAsync(bool Advance)
+            {
+                while (CurrentLine.Length == CurrentPostion)
+                {
+                    if ((await SqlReader.ReadAsync()) == false)
+                    {
+                        return -1;
+                    }
+                    CurrentLine = SqlReader.GetString(0);
+                    CurrentPostion = 0;
+                }
+                var rv = CurrentLine[CurrentPostion];
+                if (Advance)
+                    CurrentPostion += 1;
+
+                return rv;
+            }
+
+            public string ReadAll()
+            {
+                var sbResult = new StringBuilder();
+
+                if (SqlReader.HasRows)
+                {
+                    while (SqlReader.Read())
+                        sbResult.Append(SqlReader.GetString(0));
+                }
+                else
+                    return string.Empty;
+
+                return ProcessResult(sbResult);
+                
+            }
+            /// <summary>
+            /// Handle the result whether in JSON or not. If JSON, the escapes will be removed.
+            /// </summary>
+            /// <param name="sbResult">The stringbuilder with the text.</param>
+            /// <returns>Final Output string</returns>
+            private static string ProcessResult(StringBuilder sbResult)
+            {
+             
+                sbResult.Replace("\\\t", "\t");
+                sbResult.Replace("\\\n", "\n");
+                sbResult.Replace("\\\r", "\r");
+             
+                //var finalResult = sbResult.ToString();
+
+                //if (!string.IsNullOrWhiteSpace(finalResult))
+                //{
+                //    try // Clean up any JSON escapes before returning
+                //    {
+
+
+                //        //finalResult = JsonConvert.DeserializeObject(finalResult).ToString();
+                //        finalResult = JsonDocument.Parse(finalResult).ToJsonString();
+                //    }
+                //    catch (System.Exception) { } // Ignore standard text or invalid json returned.
+                //}
+
+                return sbResult.ToString();
+            }
+
+            public async Task<string> ReadAllAsync()
+            {
+                var sbResult = new StringBuilder();
+
+                if (SqlReader.HasRows)
+                {
+                    while (await SqlReader.ReadAsync())
+                        sbResult.Append(SqlReader.GetString(0));
+                }
+                else
+                    return string.Empty;
+
+               return ProcessResult(sbResult);
+            }
+
+            public override void Close() => SqlReader?.Close();
+            
+            
+        }
+
+    }
+}
diff --git a/SQLJSONReader/SQLJSONReader.csproj b/SQLJSONReader/SQLJSONReader.csproj
index bf2fc9c..125d254 100644
--- a/SQLJSONReader/SQLJSONReader.csproj
+++ b/SQLJSONReader/SQLJSONReader.csproj
@@ -1,23 +1,36 @@
 ﻿<Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netcoreapp3.1</TargetFramework>
-    <AssemblyVersion>1.4.0.0</AssemblyVersion>
-    <FileVersion>1.4.0.0</FileVersion>
+    <TargetFramework>net6.0</TargetFramework>
+    <AssemblyVersion>6.1.1.0</AssemblyVersion>
+    <FileVersion>6.1.1.0</FileVersion>
     <Authors>William Wegerson</Authors>
     <Company>Omega Technical Solutions</Company>
     <Description>Provides a way to read JSON data from SQL Server when calling a stored procedure. Simply extends SQLJSON reader to process data from SQL Server which is returned as JSON on the table/rows/columns and returns it to the user as a string.</Description>
-    <Copyright>2020</Copyright>
-    <PackageLicenseUrl>https://licenses.nuget.org/MIT</PackageLicenseUrl>
+    <Copyright>2022</Copyright>
+    <PackageLicenseExpression>MIT</PackageLicenseExpression>
     <PackageProjectUrl>https://github.com/CheetahChrome/SQLJSONReader</PackageProjectUrl>
-    <PackageIconUrl>https://raw.githubusercontent.com/CheetahChrome/SQLJSONReader/master/SQLJSONReader/images/Buddybleu.png</PackageIconUrl>
-    <Version>1.4.0</Version>
+    <PackageIconUrl></PackageIconUrl>
+    <Version>6.1.1</Version>
     <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
+    <PackageIcon>Buddybleu.png</PackageIcon>
+    <PackageReadmeFile>README.md</PackageReadmeFile>
+    <PackageReleaseNotes>Removal of Newtonsoft.</PackageReleaseNotes>
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Newtonsoft.Json" Version="11.0.1" />
-    <PackageReference Include="System.Data.SqlClient" Version="4.6.0" />
+    <PackageReference Include="System.Data.SqlClient" Version="4.8.3" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <None Include="..\README.md">
+      <Pack>True</Pack>
+      <PackagePath>\</PackagePath>
+    </None>
+    <None Include="images\Buddybleu.png">
+      <Pack>True</Pack>
+      <PackagePath></PackagePath>
+    </None>
   </ItemGroup>
 
 </Project>
