added node.extend