Implemented with Rust and WebAssembly