fixed unuploaded predicate
moved progress view code
extracted local save into function