          ,---.                             ,--.
         /  O  \\ ,--.--. ,---.,--.,--. ,---.|  |    ,---. ,---.
        |  .-.  ||  .--'| .-. |  ||  |(  .-' |   |   | .-. | .-. |
        |  | |  ||  |   ' '-' '  ''  '.-'  `)  '--.' '-' ' '-' '
        `--' `--'`--'   .`-  / `----' `----'`-----' `---'.`-  /
                        `---'                            `---'