generate pairs