Edge based methods