https://tinycode.medium.com/use-javascript-web-workers-for-multithreaded-js-execution-in-the-browser-c40ee8f81db8