diff --git a/DeedyDesigner/Deedy.Design/Deedy.Design.csproj b/DeedyDesigner/Deedy.Design/Deedy.Design.csproj
index 6c78894..d62385c 100644
--- a/DeedyDesigner/Deedy.Design/Deedy.Design.csproj
+++ b/DeedyDesigner/Deedy.Design/Deedy.Design.csproj
@@ -7,4 +7,8 @@
     enable
   
 
+  
+    
+  
+
 
diff --git a/DeedyDesigner/Deedy.Design/DeedyAction.cs b/DeedyDesigner/Deedy.Design/DeedyAction.cs
index ccad2fb..1373f66 100644
--- a/DeedyDesigner/Deedy.Design/DeedyAction.cs
+++ b/DeedyDesigner/Deedy.Design/DeedyAction.cs
@@ -16,6 +16,9 @@ namespace Deedy.Design
         public string DEIdentify { get; set; } = "";
         public IDeedyElement? DeedyParent { get; protected internal set; }
         public IDeedyViewer? DeedyViewer { get; protected internal set; }
+        public DeedyElementCollection Children { get; set; } = new();
+
+        public IDeedyElement DeedyRoot => (this.DeedyParent == null) ? this : this.DeedyParent.DeedyRoot;
 
         public event PropertyChangedEventHandler? PropertyChanged;
 
diff --git a/DeedyDesigner/Deedy.Design/DeedyUIProxy.cs b/DeedyDesigner/Deedy.Design/DeedyVisual.cs
similarity index 92%
rename from DeedyDesigner/Deedy.Design/DeedyUIProxy.cs
rename to DeedyDesigner/Deedy.Design/DeedyVisual.cs
index 2523b72..4a3af35 100644
--- a/DeedyDesigner/Deedy.Design/DeedyUIProxy.cs
+++ b/DeedyDesigner/Deedy.Design/DeedyVisual.cs
@@ -8,15 +8,16 @@ using System.Threading.Tasks;
 
 namespace Deedy.Design
 {
-    public class DeedyUIProxy : IDeedyVisual
+    public class DeedyVisual : IDeedyVisual
     {
-        private readonly IDeedyVisual _Visual;
-        public DeedyUIProxy(IDeedyVisual visual) { this._Visual = visual; }
         public string DEClass { get; protected internal set; } = "";
         public string DETitle { get; set; } = "";
         public string DERemark { get; set; } = "";
         public string DEIdentify { get; set; } = "";
         public IDeedyElement? DeedyParent { get; protected internal set; }
+        public DeedyElementCollection Children { get; set; } = new();
+
+        public IDeedyElement DeedyRoot => (this.DeedyParent == null) ? this : this.DeedyParent.DeedyRoot;
 
         public event PropertyChangedEventHandler? PropertyChanged;
 
diff --git a/DeedyDesigner/Deedy.Design/IDeedyElement.cs b/DeedyDesigner/Deedy.Design/IDeedyElement.cs
index 106fdfe..bb07405 100644
--- a/DeedyDesigner/Deedy.Design/IDeedyElement.cs
+++ b/DeedyDesigner/Deedy.Design/IDeedyElement.cs
@@ -15,6 +15,7 @@ namespace Deedy.Design
         public string DERemark { get; set; }
         public string DEIdentify { get; set; }
         public IDeedyElement? DeedyParent { get; }
-
+        public IDeedyElement DeedyRoot { get; }
+        public DeedyElementCollection Children { get; set; }
     }
 }