avoid boxing
partition