Not using seperate Edge class for Graph