the new pipeable api is much better