This *works*, but still doesn't have multiprocessing.