send explicit done()