pipe new functionality