mutex inside print to better interleave output from multiple threads
unsure what is being commited?