updated for vec renamed to slice
updated to latest rustc