implemented asynchronous testing