remove dest parameter since its being replaced by pipe, add callback fail safe