https://www.cheatsheetshero.com/user/all/756-switching-concepts-cheat-sheet