added asynchronous threading
added asynchronous threading