ooooooooo oooooooooo. oooooooooooo ooooooo ooooo oooo
d"""""""8' `888' `Y8b `888' `8 `8888 d8' `888
.8' 888 888 888 Y888..8P 888
.8' 888oooo888' 888oooo8 `8888' 888
.8' 888 `88b 888 " .8PY888. 888
.8' 888 .88P 888 d8' `888b 888
.8' o888bood8P' o888o o888o o88888o .o. 88P
`Y888P