Implementing Edge class