use global track counters instead of re-evaluating several times