I believe the whole thing could get even faster if files were read/written asynchronously instead of running it one after another. Opinions?