add pipeline function support
add bench with transducers.js
refactor
redesign protocol with better performance
add tests