added preliminary Rust support