▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄▄░▄▄██▄██░▄▄▀█░██░███░▄▄░█░▄▄▀█░▄▀▄░█░▄▄███░▄▄▄█░▄▄▀█░▄▄▄██▄██░▄▄▀█░▄▄
██░████░▄█░██░█░▀▀░███░█▀▀█░▀▀░█░█▄█░█░▄▄███░▄▄▄█░██░█░█▄▀██░▄█░██░█░▄▄
██░███▄▄▄█▄██▄█▀▀▀▄███░▀▀▄█▄██▄█▄███▄█▄▄▄███░▀▀▀█▄██▄█▄▄▄▄█▄▄▄█▄██▄█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
to do : documentation