added givens, hopcroft