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