partition list reimpl