https://medium.com/@debashishrambhola/linkedlist-in-javascript-implementing-the-powerful-data-structure-on-the-web-69f0f491f260