add counter function