better subset construction