working on partitioning