add class OwnEdgeFactory Edge and changes on Main