diff --git a/Blocks3D.vcproj b/Blocks3D.vcproj
index 63a1146..3e734e7 100644
--- a/Blocks3D.vcproj
+++ b/Blocks3D.vcproj
@@ -683,6 +683,22 @@
>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+namespace B3D
+{
+ class Instance
+ {
+ public:
+ //Constructors
+ Instance(void);
+ Instance(const Instance&);
+ virtual ~Instance(void);
+
+ //Virtual Functions
+ virtual void render(RenderDevice*);
+ virtual void renderName(RenderDevice*);
+ virtual void update();
+ virtual void setParent(Instance*);
+ virtual Instance* clone() const { return new Instance(*this); }
+
+ //Functions
+ std::vector children; // All children.
+ std::string getClassName();
+ Instance* findFirstChild(std::string);
+ std::vector getChildren();
+ std::vector getAllChildren();
+ void setName(std::string newName);
+ void addChild(Instance*);
+ void removeChild(Instance*);
+ void clearChildren();
+ Instance* getParent();
+
+ //Variables
+ Reflection::ReflectionProperty name;
+ protected:
+ //Constructor
+ //Used specifically to identify an instance class by an instance class,
+ //NOT for use outside of Instance and decendants!
+ Instance(std::string className);
+
+ //Variables
+ Reflection::ReflectionDataTable * dataTable;
+ Instance * parent;
+ };
+}
diff --git a/src/include/Reflection/ReflectionDataTable.h b/src/include/Reflection/ReflectionDataTable.h
index 5403892..511ca23 100644
--- a/src/include/Reflection/ReflectionDataTable.h
+++ b/src/include/Reflection/ReflectionDataTable.h
@@ -4,14 +4,13 @@
#include