iterator support. vec optimized