.d8888b. .d8888b. 8888888b. 888 888 88888888888
d88P Y88b d88P Y88b 888 Y88b 888 888 888
Y88b. Y88b. 888 888 888 888 888
"Y888b. "Y888b. 888 d88P Y88b d88P 888
"Y88b. "Y88b. 8888888P" Y88b d88P 888
"888 "888 888 T88b Y88o88P 888
Y88b d88P Y88b d88P 888 T88b Y888P 888
"Y8888P" "Y8888P" 888 T88b Y8P 888