Fleshed out Edge class