#22191 by charliebrowngnarly

#22192 by PyChess

#22193 by PyChess

#22194 by PyChess

#22195 by Hoichess