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