Revision 2.0: handles vertices and edges on other edges