dont modfiy list in iter