::...::...:::......:...............::...:...::...:...:::.........::.........:::...::.........:...::......:......:::...::...::::