Implemented multiple Threads

Currently with 8 threads the time to gather the outputs is around 50
seconds