require impl, rename edge types