https://www.toptal.com/javascript/10-most-common-javascript-mistakes