Updated for Rust 0.9