implement queued send