added transform and passthrough stream impl