now with piping