[Tex/LaTex] How two connect any arbitrary nodes of tree in tikz

nodestikz-pgftrees

I need to be able to connect any arbitrary nodes in a tree to each other. I am using the tree package in tikz to create my tree. I cannot figure out though how to connect to nodes by let say a draw or path command.
here is a minimal example. Let say I like to connect node F to node D, any suggestions would be truly appreciated.

Artimess

\documentclass[10pt]{book}
\usepackage{tikz}
\usetikzlibrary{backgrounds}
\usetikzlibrary{trees,positioning,arrows}
\begin{document}
\begin{tikzpicture}[scale=0.8,font=\small, edge from parent fork down,
every node/.style={fill=blue!10},
edge from parent/.style={red,thick,draw},
level 1/.style={sibling distance=8cm},
level 2/.style={sibling distance=4.5cm}]
\node {A} 
 child {node {B}
   child {node {C} }  
  child {node {D}  child{node{E}}}} 
 child {node {F}
  child {node {G}}
  };
\end{tikzpicture}
\end{document}

Best Answer

I find that adding labels to the nodes makes this work. Note the (D) and (F) in the syntax for the corresponding nodes.

\documentclass[10pt]{book}
\usepackage{tikz}
\usetikzlibrary{backgrounds}
\usetikzlibrary{trees,positioning,arrows}
\begin{document}
\begin{tikzpicture}[scale=0.8,font=\small, edge from parent fork down,
every node/.style={fill=blue!10},
edge from parent/.style={red,thick,draw},
level 1/.style={sibling distance=8cm},
level 2/.style={sibling distance=4.5cm}]
\node {A} 
 child {node {B}
   child {node {C} }  
  child {node (D) {D}  child{node{E}}}} 
 child {node (F) {F}
  child {node {G}}
  };
\draw (F) -- (D);
\end{tikzpicture}
\end{document}

(Though I don't discount the possibility that trees have an implicit labelling system in the same fashion as matrices.)