partitionList better