On a completely unrelated note, you will want to eschew the indirect syntax (new Node) in favor of the direct syntax (Node->new). Remember - new is not a keyword, it's just a plain old method. The indirect syntax can get you into trouble because the compiler has to guess what you intend. Did you mean the new() function in the package you're in or the new() method for the next parseable chunk?
My criteria for good software:
Does it work?
Can someone else come in, make a change, and be reasonably certain no bugs were introduced?