added Edge class