making this correct, dirty and cached counters