removed SourceNode, TargetNode; added sort() and AsIteratorNode