Kinda parallelized, but slow