added checksum calculating using thread pool