dual graph implemented