added MilageGraph and Edge classes