https://nerdkapilgupta.medium.com/how-to-convert-a-javascript-function-to-an-asynchronous-function-using-async-await-for-improved-7619c4a000a3