diff --git a/src/graphics/components/Component.h b/src/graphics/components/Component.h
index 2924db028633bc61e837502108bc457cb5cfe8fc..2440a444e61940f2c53c37f4f89d1cacdf4334b3 100644
--- a/src/graphics/components/Component.h
+++ b/src/graphics/components/Component.h
@@ -31,6 +31,28 @@ struct UIlayout {
     UImetric h = { false, 0 };
 };
 
+struct UImetricV2 {
+    bool requested; // initially set
+    double pct = 0; // percentage
+    int px = 0; // pixels
+};
+
+// defines an area that a component covers
+struct UILayoutV2 {
+    // only height or 2 of these can be set
+    UImetricV2 top = { false, false, 0 };
+    UImetricV2 bottom = { false, false, 0 };
+    UImetricV2 height = { false, false, 0 };
+    // only width or 2 of these can be set
+    UImetricV2 left = { false, false, 0 };
+    UImetricV2 right = { false, false, 0 };
+    UImetricV2 width = { false, false, 0 };
+};
+
+// texturedComponent
+// dual textComponent
+// container component (drop down, drop text, list)
+
 // should have 2 classes after this
 // non-rendererable component (wtf are these?)
 // and renderable component