Implemening Edge Constructors