space partitioning