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