https://alexop.dev/posts/how-03-model-tries-chess-puzzle/