this is fast iteration