implemented add/remove tracking