Should partition the vector carefully