This is a simple optimization for g_node_first_child. If a node is not a root, then it is simple to access the first child using node->parent->children. If a node is a root, then the old code steps backwards in the sibling list. dbsears@ix.netcom.com