added iterator remove functionality