ids can now be empty array for update and remove functions