fn substring_by_byte(s: &str, start: usize, end: usize) -> &str