.ooooo.        o8o                         ooooo  ooooo      ooo 
d88' `8. `"' `888' `888b. `8'
Y88.. .8' oooo .ooooo. .ooooo oo 888 8 `88b. 8
`88888b. `888 d88' `"Y8 d88' `888 888 8 `88b. 8
.8' ``88b 888 888 888 888 888 8 `88b.8
`8. .88P 888 888 .o8 888 888 888 8 `888
`boood8' 888 `Y8bod8P' `V8bod888 o888o o8o `8
888 888.
.o. 88P 8P'
`Y888P "