bringing over changes from parallelism branch to address chrM problems