use a data type for the partition instead of the plain tuple