update_counts now uses arc