https://blog.shegerd.net/learning_chess_whyhow/