final version of Graph