more work on parallelizing it