added assorted partitioning methods