https://vimcolors.com/overcoming-programming-challenges/