added graph datastructure