implemented add_all remove_all and update_all