add iterator with support for remove()