asynchronous implementation completed