oooooooo ooooooo ooooo .oooooo.
dP""""""" `8888 d8' d8P' `Y8b
d88888b. .ooooo oo Y888..8P .oooooooo 888 oo.ooooo.
`Y88b d88' `888 `8888' 888' `88b 888 888' `88b
]88 888 888 .8PY888. 888 888 888 ooooo 888 888
o. .88P 888 888 d8' `888b `88bod8P' `88. .88' 888 888
`8bd88P' `V8bod888 o888o o88888o `8oooooo. `Y8bood8P' 888bod8P'
888. d" YD 888
8P' "Y88888P' o888o
"