add return iterator to erase