refactored counters