add pipe.go wip