https://mysteryweevil.medium.com/mastering-the-window-object-unlocking-the-power-of-javascript-fc6534c9c3ae