Restructure and rewrite progress.