.o8     .oooo.          .o     .o8        ooooo     ooo  oooo    oooo 
"888 .dP""Y88b .d88 "888 `888' `8' `888 .8P'
.oooo888 ]8P' .d'888 888oooo. 888 8 888 d8'
d88' `888 <88b. .d' 888 d88' `88b 888 8 88888[
888 888 `88b. 88ooo888oo 888 888 888 8 888`88b.
888 888 o. .88P 888 888 888 `88. .8' 888 `88b.
`Y8bod88P" `8bd88P' o888o `Y8bod8P' `YbodP' o888o o888o