maintain persistent counter for scalability