Multi-Threaded Implementation