replace copy stream thread using interruptible versions