ooooo   ooooo  oooooo   oooooo     oooo   ooooooooo                                         
`888' `888' `888. `888. .8' d"""""""8'
888 888 `888. .8888. .8' .8' .ooooo. oooo oooo ooo .ooooo.
888ooooo888 `888 .8'`888. .8' .8' d88' `"Y8 `88. `88. .8' d88' `"Y8
888 888 `888.8' `888.8' .8' 888 `88..]88..8' 888
888 888 `888' `888' .8' 888 .o8 `888'`888' 888 .o8
o888o o888o `8' `8' .8' `Y8bod8P' `8' `8' `Y8bod8P'