change argument parser
fix showing progress, it not work on Mac for Terminal flushing behavior is different from Win