See node.rb for reference.