public virtual void LoadFromXElement(XElement root)
 {
     //this could probably be improved by making a static function for vector3... somehow lol...
     //remember method extension =P x.x
     Position = new Vector3();
     Position = Position.loadFromXElement(root.Element("Position").Element("Vector3"));
     Origin = new Vector3();
     Origin = Origin.loadFromXElement(root.Element("Origin").Element("Vector3"));
     Rotation = new Vector3();
     Rotation = Rotation.loadFromXElement(root.Element("Rotation").Element("Vector3"));
     ModelResourceName = root.Element("ModelResourceName").Value;
 }