update progress; reverse order