multi-threaded and multi-core optimized.