diff --git a/.gitignore b/.gitignore
index ac7b446..ea3bf65 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,5 @@
 ################################################################################
 
 /.vs/SpriteLibrary
+/SpriteLibrary/bin/Release
+/SpriteLibrary/obj/Release
diff --git a/SpriteLibrary/SpriteController.cs b/SpriteLibrary/SpriteController.cs
index 4db792e..4b39f93 100644
--- a/SpriteLibrary/SpriteController.cs
+++ b/SpriteLibrary/SpriteController.cs
@@ -1090,7 +1090,15 @@ namespace SpriteLibrary
             {
                 LinkedControllers.Add(ControllerToLinkToThis);
             }
-            ControllerToLinkToThis.LinkControllersForSpriteTemplateSharing(this); //link the other direction also
+            ControllerToLinkToThis.LinkControllersForSpriteTemplateSharingInternal(this); //link the other direction also
+        }
+        internal void LinkControllersForSpriteTemplateSharingInternal(SpriteController ControllerToLinkToThis)
+        {
+            if (ControllerToLinkToThis == null) return;
+            if (!LinkedControllers.Contains(ControllerToLinkToThis))
+            {
+                LinkedControllers.Add(ControllerToLinkToThis);
+            }
         }
 
         /// <summary>
diff --git a/SpriteLibrary/obj/Release/CoreCompileInputs.cache b/SpriteLibrary/obj/Release/CoreCompileInputs.cache
new file mode 100644
index 0000000..e8c1fbc
--- /dev/null
+++ b/SpriteLibrary/obj/Release/CoreCompileInputs.cache
@@ -0,0 +1 @@
+a8cf27034d92fac0fcc617c33163b8923a432866
diff --git a/SpriteLibrary/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/SpriteLibrary/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
new file mode 100644
index 0000000..c8ba4b3
Binary files /dev/null and b/SpriteLibrary/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/SpriteLibrary/obj/Release/SpriteLibrary.Properties.Resources.resources b/SpriteLibrary/obj/Release/SpriteLibrary.Properties.Resources.resources
new file mode 100644
index 0000000..341c9a4
Binary files /dev/null and b/SpriteLibrary/obj/Release/SpriteLibrary.Properties.Resources.resources differ
diff --git a/SpriteLibrary/obj/Release/SpriteLibrary.csproj.FileListAbsolute.txt b/SpriteLibrary/obj/Release/SpriteLibrary.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..1ec1777
--- /dev/null
+++ b/SpriteLibrary/obj/Release/SpriteLibrary.csproj.FileListAbsolute.txt
@@ -0,0 +1,8 @@
+C:\Users\TimYo\Documents\Visual Studio 2015\Projects\SpriteLibrary\SpriteLibrary\bin\Release\SpriteLibrary.XML
+C:\Users\TimYo\Documents\Visual Studio 2015\Projects\SpriteLibrary\SpriteLibrary\bin\Release\SpriteLibrary.dll
+C:\Users\TimYo\Documents\Visual Studio 2015\Projects\SpriteLibrary\SpriteLibrary\bin\Release\SpriteLibrary.pdb
+C:\Users\TimYo\Documents\Visual Studio 2015\Projects\SpriteLibrary\SpriteLibrary\obj\Release\SpriteLibrary.csprojResolveAssemblyReference.cache
+C:\Users\TimYo\Documents\Visual Studio 2015\Projects\SpriteLibrary\SpriteLibrary\obj\Release\SpriteLibrary.Properties.Resources.resources
+C:\Users\TimYo\Documents\Visual Studio 2015\Projects\SpriteLibrary\SpriteLibrary\obj\Release\SpriteLibrary.csproj.GenerateResource.Cache
+C:\Users\TimYo\Documents\Visual Studio 2015\Projects\SpriteLibrary\SpriteLibrary\obj\Release\SpriteLibrary.dll
+C:\Users\TimYo\Documents\Visual Studio 2015\Projects\SpriteLibrary\SpriteLibrary\obj\Release\SpriteLibrary.pdb
diff --git a/SpriteLibrary/obj/Release/SpriteLibrary.csproj.GenerateResource.Cache b/SpriteLibrary/obj/Release/SpriteLibrary.csproj.GenerateResource.Cache
new file mode 100644
index 0000000..b0737c4
Binary files /dev/null and b/SpriteLibrary/obj/Release/SpriteLibrary.csproj.GenerateResource.Cache differ
diff --git a/SpriteLibrary/obj/Release/SpriteLibrary.csprojResolveAssemblyReference.cache b/SpriteLibrary/obj/Release/SpriteLibrary.csprojResolveAssemblyReference.cache
new file mode 100644
index 0000000..1c09120
Binary files /dev/null and b/SpriteLibrary/obj/Release/SpriteLibrary.csprojResolveAssemblyReference.cache differ
diff --git a/SpriteLibrary/obj/Release/SpriteLibrary.dll b/SpriteLibrary/obj/Release/SpriteLibrary.dll
new file mode 100644
index 0000000..2eb8bb8
Binary files /dev/null and b/SpriteLibrary/obj/Release/SpriteLibrary.dll differ
diff --git a/SpriteLibrary/obj/Release/SpriteLibrary.pdb b/SpriteLibrary/obj/Release/SpriteLibrary.pdb
new file mode 100644
index 0000000..966e8ec
Binary files /dev/null and b/SpriteLibrary/obj/Release/SpriteLibrary.pdb differ
diff --git a/SpriteLibrary/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/SpriteLibrary/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
new file mode 100644
index 0000000..e69de29
diff --git a/SpriteLibrary/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/SpriteLibrary/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
new file mode 100644
index 0000000..e69de29
diff --git a/SpriteLibrary/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/SpriteLibrary/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
new file mode 100644
index 0000000..e69de29