an hopefully extendable framework for getting groups of names from a big list of names