added transform iterator