Add progress
refractored