Improve batch convert

Trying to optimize some threading and maybe some other logic in this PR.

Note: don't merge this yet, I want to have another look.