add partitioner factory