diff --git a/DeedyDesigner/Deedy.Design/Contract/IContainerElement.cs b/DeedyDesigner/Deedy.Design/Contract/IContainerElement.cs
new file mode 100644
index 0000000..ba1d4e9
--- /dev/null
+++ b/DeedyDesigner/Deedy.Design/Contract/IContainerElement.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Deedy.Design
+{
+    public interface IContainerElement : IDeedyElement
+    {
+        public DeedyElementCollection Elements { get; set; }
+    }
+}
diff --git a/DeedyDesigner/Deedy.Design/Contract/IVariableContainer.cs b/DeedyDesigner/Deedy.Design/Contract/IVariableContainer.cs
new file mode 100644
index 0000000..c94f0a2
--- /dev/null
+++ b/DeedyDesigner/Deedy.Design/Contract/IVariableContainer.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Deedy.Design
+{
+    public interface IVariableContainer : IContainerElement
+    {
+        public void Append(IDeedyElement deedyElement);
+        public void Remove(IDeedyElement deedyElement);
+        public void SwapIndex(IDeedyElement element1, IDeedyElement element2);
+    }
+}
diff --git a/DeedyDesigner/Deedy.Design/Deedy.Design.csproj b/DeedyDesigner/Deedy.Design/Deedy.Design.csproj
index d62385c..13fd88a 100644
--- a/DeedyDesigner/Deedy.Design/Deedy.Design.csproj
+++ b/DeedyDesigner/Deedy.Design/Deedy.Design.csproj
@@ -8,6 +8,7 @@
   
 
   
+    
     
   
 
diff --git a/DeedyDesigner/Deedy.Design/DeedyAction.cs b/DeedyDesigner/Deedy.Design/DeedyAction.cs
index 1373f66..6ba912e 100644
--- a/DeedyDesigner/Deedy.Design/DeedyAction.cs
+++ b/DeedyDesigner/Deedy.Design/DeedyAction.cs
@@ -53,5 +53,15 @@ namespace Deedy.Design
             OnPropertyChanged(propertyName);
             return true;
         }
+
+        public void InsertInFront(IDeedyElement deedyElement)
+        {
+            throw new NotImplementedException();
+        }
+
+        public void InsertAtRear(IDeedyElement deedyElement)
+        {
+            throw new NotImplementedException();
+        }
     }
 }
diff --git a/DeedyDesigner/Deedy.Design/DeedyVisual.cs b/DeedyDesigner/Deedy.Design/DeedyVisual/DeedyLayout.cs
similarity index 76%
rename from DeedyDesigner/Deedy.Design/DeedyVisual.cs
rename to DeedyDesigner/Deedy.Design/DeedyVisual/DeedyLayout.cs
index 4a3af35..979626a 100644
--- a/DeedyDesigner/Deedy.Design/DeedyVisual.cs
+++ b/DeedyDesigner/Deedy.Design/DeedyVisual/DeedyLayout.cs
@@ -8,7 +8,7 @@ using System.Threading.Tasks;
 
 namespace Deedy.Design
 {
-    public class DeedyVisual : IDeedyVisual
+    public class DeedyLayout : IDeedyLayout
     {
         public string DEClass { get; protected internal set; } = "";
         public string DETitle { get; set; } = "";
@@ -19,6 +19,8 @@ namespace Deedy.Design
 
         public IDeedyElement DeedyRoot => (this.DeedyParent == null) ? this : this.DeedyParent.DeedyRoot;
 
+        public DeedyElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
+
         public event PropertyChangedEventHandler? PropertyChanged;
 
         /// 
@@ -54,5 +56,30 @@ namespace Deedy.Design
             OnPropertyChanged(propertyName);
             return true;
         }
+
+        public void Append(IDeedyElement deedyElement)
+        {
+            throw new NotImplementedException();
+        }
+
+        public void Remove(IDeedyElement deedyElement)
+        {
+            throw new NotImplementedException();
+        }
+
+        public void InsertInFront(IDeedyElement deedyElement)
+        {
+            throw new NotImplementedException();
+        }
+
+        public void InsertAtRear(IDeedyElement deedyElement)
+        {
+            throw new NotImplementedException();
+        }
+
+        public void SwapIndex(IDeedyElement element1, IDeedyElement element2)
+        {
+            throw new NotImplementedException();
+        }
     }
 }
diff --git a/DeedyDesigner/Deedy.Design/DeedyVisual/IDeedyLayout.cs b/DeedyDesigner/Deedy.Design/DeedyVisual/IDeedyLayout.cs
new file mode 100644
index 0000000..00851d2
--- /dev/null
+++ b/DeedyDesigner/Deedy.Design/DeedyVisual/IDeedyLayout.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Deedy.Design
+{
+    public interface IDeedyLayout : IVariableContainer
+    {
+    }
+}
diff --git a/DeedyDesigner/Deedy.Design/IDeedyElement.cs b/DeedyDesigner/Deedy.Design/IDeedyElement.cs
index bb07405..2d684a0 100644
--- a/DeedyDesigner/Deedy.Design/IDeedyElement.cs
+++ b/DeedyDesigner/Deedy.Design/IDeedyElement.cs
@@ -16,6 +16,7 @@ namespace Deedy.Design
         public string DEIdentify { get; set; }
         public IDeedyElement? DeedyParent { get; }
         public IDeedyElement DeedyRoot { get; }
-        public DeedyElementCollection Children { get; set; }
+        public void InsertInFront(IDeedyElement deedyElement);
+        public void InsertAtRear(IDeedyElement deedyElement);
     }
 }