most add progress function