add progress handling to blocks