remove dependency on node.extend