jgraph temporary dependency
added nulalry constructor so it can be used reflectively
added visualising capabilities