added split_vector