https://medium.com/@siddhantjadhav445/best-practices-for-writing-clean-and-efficient-javascript-code-c2efd8a66eec