counting ---------------------------------------------------------------------------------------------------