--------- ----#---- ----#---- ----#---- -#######- --#####-- ---###--- ----#---- ---------