parallelize solver