splitting the Rust model into modules, moving tests into submodules