adding progress estimation and some extra output