######### ##.......# #...#....# #...#....# ...#....# ########'#....# ..........#'### ..........#<.# ..........#..# .......