oooooo oooo ooooo ooo oooooo oooo ooooo ooo oooo oooo oooo oooo
`888. .8' `888' `8' `888. .8' `888b. `8' `888 .8P' `888 .8P'
`888. .8' 888 8 `888. .8' 8 `88b. 8 888 d8' 888 d8'
`888. .8' 888 8 `888.8' 8 `88b. 8 88888[ 88888[
`888.8' 888 8 `888' 8 `88b.8 888`88b. 888`88b.
`888' `88. .8' 888 8 `888 888 `88b. 888 `88b.
`8' `YbodP' o888o o8o `8 o888o o888o o888o o888o