Hi, trying to learn the GOF patterns Good thing to learn about, I finally bought the book a few months ago. trying to serialize my tree , filled with nodes I had a look into serializing a tree and I got as far as serializing the objects contained within the nodes and leaves but not the actual 'tree' information such as child/parent/leaf used to construct the tree. Which meant I could not reconstruct it. When running my (C++) program I used a Windows tree control CTreeViewCtrl to visualize the data and a third party tree container to actually hold and manipulate the data and linked the two together. I serialized the various classes that made up the objects held in the tree container using the Boost library but was not serializing the container structure. The question then arose as to should I serialize the container - which would then make the program dependant upon that container. If I did, how? This is where I left it a few months ago. my leaf objects cannot have children. Leaves cannot have children, thats correct -xml serializer cannot recognize what kind of object a child is. I used the Boost library which got round this by allowing simple additions to class code to allow each object, when serialized, to store what type of object it was - and what it inherited from. Reconstructing then created the correct objects.