https://blog.stackademic.com/handling-standard-input-in-rust-a-deep-dive-into-a-simple-task-860b472d98f3