- convert project to a library by moving program logic into lib.rs
- create ./tests to store integration tests
- create ./common to store code we want shared across integration tests
- create regular functions with various return types
- create test functions with various return types
- experiment with `cargo test`, `#[should_panic]`, `#[ignore]` and test modules