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