add + remove + iterate + detect