implemented add and remove methods