Adding multi-threaded version
finalizing multi-threaded version