consolidated add/remove