updated for Rust 06-17