Following youtube video: https://www.youtube.com/watch?v=VnpRp7ZglfA, and recreating the algorithms covered