update TODO
async: add asynchronous close() call