    # File lib/graphviz.rb, line 95
      def add_node( xNodeName, hOpts = {} )
        @hoNodes[xNodeName] = GraphViz::Node::new( xNodeName, self )
        @hoNodes[xNodeName].index = @elements_order.size_of( "node" )

        unless hOpts.keys.include?(:label) or hOpts.keys.include?("label")
          hOpts[:label] = xNodeName
        end

        hOpts.each do |xKey, xValue|
          @hoNodes[xNodeName][xKey.to_s] = xValue
        end

        @elements_order.push( {
          "type" => "node",
          "name" => xNodeName,
          "value" => @hoNodes[xNodeName]
        } )

        return( @hoNodes[xNodeName] )
      end