Changed semantics on graph.js
added some more utility functions
really just putting this up so I can work on this on my laptop