Partially merged in new graph stuff.
Signed-off-by: John Hamelink <john@johnhamelink.com>