Multithreaded the solver
Added docs