https://medium.com/@jashanrahal/learn-linked-lists-in-less-than-10-minutes-data-structures-part-2-4e3087b31331