improve article partion algorithm