mjn: I'm fine with your two methods....I also need a way of getting at the lists stored in the graph without knowing that the graph class exists (I thought the data manager was supposed to encapsulate the graph, so I think datamanager should have ObjectList getObjects() { graph->getObjects()) } ConnectionList getConnections ....etc...) di: As mjn said, we need to be able to get the list of objects and list of connections from here. I don't think those belongs in the graph