support for iteration append and remove