Sepparating algorithms