pairs() implimentation