added progress control