add Pipe.map