simplified counter updates