improve progress class