Improve progress callback