iterator with new abilities