######  ####  ######   ######   #######  
##    ##  ##  ##    ## ##    ## ##     ## 
##        ##  ##       ##       ##     ## 
##        ##   ######  ##       ##     ## 
##        ##        ## ##       ##     ## 
##    ##  ##  ##    ## ##    ## ##     ## 
 ######  ####  ######   ######   #######