TPL

Move to thread pool based approach for performance improvement