make partitioner not a case class