https://medium.com/@ori.holis/how-to-write-clean-code-with-these-5-javascript-tips-and-tricks-c3675914cc4d