Updated to work with latest version of Rust