support progress and finish