refined split_string