refactored into sbt, cleaned testing, and improved graph lib