try to minimize CAS conflicts