Update to use multiprocessing library