https://javascript.plainenglish.io/demystifying-this-keyword-in-javascript-everything-you-need-to-know-c438fc3f32a8