Added EdgeList to implement diagonal calculation