add transducers
add transducer support