switched over all pairs to their implementation