https://levelup.gitconnected.com/how-to-build-a-note-taking-command-line-application-with-rust-part-2-ec738dd97c48