adding and removing + notifying for add and remove