After several hours of reading the newsgroups and working backward through BGL header files, I've accepted that I need help. I have a graph with bundled properties. The edge properties include and index. I can't, for the life of me, figure out one thing: How do I get algorithms (e.g., those in subgraph) to see the edge index as a edge_index_t property? My code is fairly simple (though my failed attempts at getting subgraph, et al, to find the edge index have been long). Formatted for brevity: struct _Vertex_Data { unsigned index; unsigned blob_id; }; struct _Edge_Data { unsigned index; unsigned count; }; typedef adjacency_list<setS,setS,undirectedS,_Vertex_Data,_Edge_Data> _BGL_Graph_Base; struct _Graph_Base : public _BGL_Graph_Base { typedef my_graph_tag graph_tag; }; typedef subgraph<_Graph_Base> _Graph; my_graph_tag is left over from a previous attempt, but I suspect it will be required to get this to work. I've tried overloading the property selectors, but I keep hitting a wall. I have seen ways to do this with the older property structure, but my bundled properties will eventually be elaborate, so I'd like to use this mechanism. I hope the BGL gurus are still around... the "classic" e-mails seem old... Thank you for your time and help. -- Sal smile.