add API for `pipe_to` pattern