added saturating counter data structure