pub fn main() -> Result<()>