Added parallel processing via Boost threading