the order of debug prints are quite messy currently, should delete any irrelevant print that confuses the user.
"everything done" is printed after Step 5 is done. this should only be printed after all steps are done.
Currently "Step 7 runtime=xxx" is printed throughout the program even before step 7 is started. Is there a way to do it so that it only prints after step 7 has started? or... (maybe the print is not necessary?)