fixed race condition - call done upon success