new way simpler, much better pipe