diff --git a/EduNetworkBuilder/AnimationClass.cs b/EduNetworkBuilder/AnimationClass.cs
new file mode 100644
index 0000000..a340fe7
--- /dev/null
+++ b/EduNetworkBuilder/AnimationClass.cs
@@ -0,0 +1,69 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Drawing;
+
+namespace EduNetworkBuilder
+{
+    //Holds a little bit of information pertaining to the current animation.
+    public class AnimationClass
+    {
+        Point ImageStartPoint = new Point();
+        Rectangle Where;
+        Size HowBig; //how big is each animation.
+        public DateTime NextAnimation;
+        int AnimationCount = 0;
+        int AnimationSpeed = 300; //ms between animations
+        Image BackgroundSnip;
+        int maxAnim = 6;
+
+        public bool AnimationDone { get { if (AnimationCount > 0) return false; return true; } }
+        public bool FinalErase = false;
+
+        public AnimationClass(AnimationName What, Rectangle where)
+        {
+            Where = where;
+            switch(What)
+            {
+                case AnimationName.Fire1:
+                    ImageStartPoint = new Point(0,0);
+                    HowBig = new Size(100, 100);
+                    AnimationCount = 6;
+                    break;
+                case AnimationName.Smoke1:
+                    ImageStartPoint = new Point(0, 100);
+                    HowBig = new Size(100, 100);
+                    AnimationCount = 6;
+                    break;
+                case AnimationName.Spark1:
+                    ImageStartPoint = new Point(0, 200);
+                    HowBig = new Size(100, 100);
+                    AnimationCount = 6;
+                    break;
+            }
+        }
+
+        public void GrabBackground(Image TheNetworkImage)
+        {
+            BackgroundSnip = new Bitmap(Where.Width, Where.Height);
+            Graphics.FromImage(BackgroundSnip).DrawImage(TheNetworkImage, new Rectangle(0, 0, Where.Width, Where.Height), Where, GraphicsUnit.Pixel);
+        }
+
+        public void DrawAnimation(Image TheNetworkImage)
+        {
+            Bitmap AnimationFrame  = new Bitmap(Where.Width, Where.Height);
+            Rectangle AniminSnip = new Rectangle((maxAnim - AnimationCount) * HowBig.Width, ImageStartPoint.Y, HowBig.Width, HowBig.Height);
+
+            Graphics.FromImage(AnimationFrame).DrawImage(Properties.Resources.Animations, new Rectangle(0, 0, Where.Width, Where.Height), AniminSnip, GraphicsUnit.Pixel);
+
+            Graphics.FromImage(TheNetworkImage).DrawImage(AnimationFrame, new Rectangle(0, 0, Where.Width, Where.Height), Where, GraphicsUnit.Pixel);
+        }
+
+        public void EraseAnimation(Image TheNetworkImage)
+        {
+            Graphics.FromImage(TheNetworkImage).DrawImage(BackgroundSnip, Where, new Rectangle(0,0,Where.Width, Where.Height), GraphicsUnit.Pixel);
+        }
+    }
+}
diff --git a/EduNetworkBuilder/EduNetworkBuilder.csproj b/EduNetworkBuilder/EduNetworkBuilder.csproj
index 5c22aeb..6bbf555 100644
--- a/EduNetworkBuilder/EduNetworkBuilder.csproj
+++ b/EduNetworkBuilder/EduNetworkBuilder.csproj
@@ -84,6 +84,7 @@
     
   
   
+    
     
       Form
     
diff --git a/EduNetworkBuilder/NB.cs b/EduNetworkBuilder/NB.cs
index b899817..fe8f95e 100644
--- a/EduNetworkBuilder/NB.cs
+++ b/EduNetworkBuilder/NB.cs
@@ -50,6 +50,7 @@ namespace EduNetworkBuilder
         LockVLANsOnHost, LockNicVLAN, LockInterfaceVLAN, LockVLANNames,
         DeviceIsFrozen, DeviceBlowsUpWithPower, DeviceNeedsUPS,
     }
+    public enum AnimationName { Spark1, Fire1, Smoke1 }
     public enum ContextTest {  ping, arp, traceroute }
     public enum NetTestVerbosity { none, basic, hints, full }
     public enum LBContents { routes, messages, dhcp, puzzles }