wrapping before iterator