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