add function shrink_to_fit(), but still have some problem