a simple shell in Rust