implement AttributedNode
implement AttributedEdge