_____       ___      ______     ___      _____   
|  __ \\    / _ \\   /_   _//   / _ \\   / ____|| 
| |  \ ||  | / \ ||    | ||    / //\ \\ / //---`' 
| |__/ ||  | \_/ ||   _| ||   |  ___  ||\ \\___   
|_____//    \___//   /__//    |_||  |_|| \_____|| 
 -----`     `---`    `--`     `-`   `-`   `----`